题目:水仙花数
(1) 描述
- 水仙花数各位的数字的立方之和等于自身
- 如 153 为水仙花数,因为 153 = 1^3 + 5^3 + 3^3
(2) 要求
(3) 程序
# 解法1
for i in range(100, 1000):
bai = i//100
shi = i%100//10
ge = i%10
if (bai**3 + shi**3 + ge**3) == i:
print("{0} is narcissistic number.".format(i))
print("Over!")
# 解法2
for i in range(100, 1000):
temp = list(str(i))
a = int(temp[0])
b = int(temp[1])
c = int(temp[2])
if a**3 + b**3 + c**3 == i:
print("{0} is narcissistic number.".format(i))
print("Over!")
(4) 小结
- 从
if a**3 + b**3 + c**3 == i:
可知“判断”的优先级较低,但加个括号更清晰
- 题外话
- 三位数的水仙花数有 4 个,分别是 153、370、371、407
- 水仙花数还叫“自恋数”