python1000以内水仙花数_python 计算1000以内的水仙花数
我是小玉,一个平平无奇的小天才!水仙花:先来说说什么是水仙花?例如:153=1100+510+3*1且153=13+53+33三次方是根据这个数字的位数来决定的。这种形式的数字就被称为水仙花数。(要求水仙花数必须是三位以上的整数哦!)今天小玉跟大家讲讲如何用python来实现1000以内的水仙花数的数量统计。编码思路:在输入一个任意的数字i的时候,首先需要判断这个数字为几位数,也就是要输出一个位数
我是小玉,一个平平无奇的小天才!
水仙花:
先来说说什么是水仙花?
例如:153=1100+510+3*1
且153=13+53+33
三次方是根据这个数字的位数来决定的。
这种形式的数字就被称为水仙花数。(要求水仙花数必须是三位以上的整数哦!)
今天小玉跟大家讲讲如何用python来实现1000以内的水仙花数的数量统计。
编码思路:
在输入一个任意的数字i的时候,首先需要判断这个数字为几位数,也就是要输出一个位数n
分解这个数的各个位的数字。
判断每个位上的数字的n次方之和是否为i。
代码实现:# 水仙花数:
i = 100 #水仙花数必须是三位及以上的整数
num = 0 #num用来累计数鲜花数的个数,初始值设置为0
while i < 1000: #执行while循环
a = (i // 100) #a、b、c分别为这个三位数的百位、十位、个位
b = ((i-a*100) // 10)
c = (i - 100*a - 10*b)
if i == a ** 3 + b ** 3 + c ** 3: #用if语句判断是否满足水仙花数的规则
print("水仙花数是:",i) #输出每一个水仙花数
num += 1 #每输出一次,水仙花数的个数就累计+1
i +=1 #实现100到1000的叠加
print(f"10000以内的水仙花有{num}个。") #输出所有的水仙户个数
运行结果:

对你有帮助吗?有帮助就关注一下小玉吧~
我知道你一定会给我点赞的
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐

所有评论(0)