菜鸟IT的博客 >> Python
实战100例 - 第13例 - 打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。x的立方就是x**3
# -*- coding: utf-8 -*-
# 打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数
# 其各位数字立方和等于该数本身。
# 例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。
# 思路:for循环从100到999之间去找。
JiShu=1
for SanWeiShu in range(100,999+1):
BaiWS = int(str(SanWeiShu)[0])
ShiWS = int(str(SanWeiShu)[1])
GeWS = int(str(SanWeiShu)[2])
if(SanWeiShu==BaiWS**3+ShiWS**3+GeWS**3):
print("找到第",JiShu,"个水仙花数:",SanWeiShu)
JiShu+=1
————————
输出结果:
找到第 1 个水仙花数: 153
找到第 2 个水仙花数: 370
找到第 3 个水仙花数: 371
找到第 4 个水仙花数: 407
进程已结束,退出代码0
菜鸟IT博客[2022.01.22-15:57] 访问:236