1. 需求
打印出所有"水仙花数",所谓"水仙花数"是指一个三位数[100, 1000)
,其各位数字立方和等于该数本身。
例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。
2. 分析
- 遍历所有的三位数
- 求 百位 十位个位 立方和
- 判断并打印
for i in range(100, 1000):
h = i // 100
t = i // 10 % 10
n = i % 10
if pow(h, 3) + pow(t, 3) + pow(n, 3) == i:
# 或者 if (h ** 3 + t ** 3 + n ** 3) == i:
print(i)