判断是否为水仙花数(Python)

news/2025/3/30 5:34:03/

1、题目:
应用Python创建一个函数,接受一个参数n (n>=100) ,判断这个数是否为水仙花数。

水仙花数:满足如果这个数为m位数,则每个位上数字的m次幂之和等于它本身
例如:1^3 + 5^3 + 3^3 = 153
(该题目来自北大陈斌老师的MOOC)

2、分析过程

  1. 由于输入的数字位数不确定,有可能3位,也有可能4位,甚至更多,刚开始我是想通过个位、十位等等来进行判断,但是没找到合适的方法来进行遍历。(有好方法可以交流交流)
  2. 在判断该数字的位数时,采用转化成字符串的形式,来进行位数的判断,从而具有普适性。

3、Python代码:

def shuixianhua_num(n):str1 = str(n)#将输入的数字转化为字符串length = len(str1)sum = 0for i in range(0,length):sum = sum + int(str1[i])**lengthif sum == n:return Trueelse:return False

4、算法改进
接受一个参数max (max>=1000),调用上面的判断函数,求100~max之间的水仙花数。

5、Python代码汇总:

def shuixianhua_num(n):str1 = str(n)length = len(str1)sum = 0for i in range(0,length):sum = sum + int(str1[i])**lengthif sum == n:return Trueelse:return Falsedef shuixianhua_max(m):list = []for i in range(100,m+1):t = shuixianhua_num(i)if t == True:list.append(i)print(list)

6、结果展示

输入:

shuixianhua_max(1000)

输出:

[153, 370, 371, 407]
文章来源:https://blog.csdn.net/weixin_44848241/article/details/119749777
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.ppmy.cn/news/863270.html

相关文章

tensorflow: 花卉分类

本文主要通过CNN进行花卉的分类,训练结束保存模型,最后通过调用模型,输入花卉的图片通过模型来进行类别的预测。 测试平台:win 10tensorflow 1.2 数据集:http://download.tensorflow.org/example_images/flower_photos…

flash 绘图API:绘制秀曲线图形

昨晚想起了一些图案,当时是在小学的时候绘制过的,现在想起记得是TVB教学,当时候记得这种图案叫秀曲线图形。现在今天用flash 绘制一下,效果看起来挺好。而代码非常简单。 基础原理:从一个纵轴开始,划分一系…

python练习实例——水仙花数判断

目录 题目 解法 输出结果 题目 判断给定的三位数是否 水仙花 数。所谓 水仙花 数是指其值等于它本身 每位数字立方和的数。例 153 就是一个 水仙花 数。 1531^35^33^3。 解法 具体代码如下: #水仙花数判断 aint(input()) xa%100 ya//10%10 za//100 bx**3y**3z*…

Python画各种樱花

动态生成樱花 from turtle import *from random import *from math import *def tree(n,l):pd()#下笔#阴影效果t cos(radians(heading()45))/80.25pencolor(t,t,t)pensize(n/3)forward(l)#画树枝if n>0:b random()*1510 #右分支偏转角度c random()*1510 #左分支偏转角度…

flash绘图API :蚂蚁线

ps 工具当中的有一个工具叫套索工具,选取一个区域之后,可以实现虚线条滚动的效果,同样选择矩形选框工具也可以看到这种滚动的效果。看起来很像蚂蚁走动一样。在9ria天地会当中,看到一个贴里面实现了矩形的虚线滚动效果。要实现滚动…

在线编程——水仙花数(pythonC++)

在线编程——水仙花数(python&C) 题目地址:水仙花数——牛客网 水仙花数的数学定义: 水仙花数(Narcissistic number)也被称为超完全数字不变数(pluperfect digital invariant, PPDI&#x…

2021-09-12 打印水仙花数

千里之行始于足下 题目:打印水仙花数 思路: 我们要先了解水仙花数的概念(深入了解可自行百度,我这里用一个简单的例子),eg:153等于1的3次方加上5的3次方再加上3的上次方,就是左边的…

python ------ 寻找水仙花数

python实现查找水仙花数代码如下: 水仙花数也被称为超完全数字不变数、自恋数、自幂数、阿姆斯特朗数,它是一个3位数, 该数字每个位上数字的立方之和正好等于它本身, 例如:1^3 5^3 3^3 153。# 找到100~9999之间的水仙…