所谓水仙花数,是指一个三位数,其各位数字立方和等于该数sss字本身。
例如,153是水仙花数,因为153=1³+5³+3³。
解该题的方法有以下两种。
(1)利用三重循环,将3个一位数连接成一个三位数进行判断。
print('所有的水仙花数如下:')
for i in range(1, 10):
for j in range(0, 10):
for k in range(0, 10):
num = 100*i+10*j+k
if num<100: break
elif num>999: break
elif num == pow(i,3)+pow(j,3)+pow(k,3):
print(f'{num}是水仙花数')
(1)利用单循环将一个三位数逐位分离后进行判断。
print('所有的水仙花数如下:')
for i in range(100, 1000):
x = i // 100
y = i // 10 % 10
z = i % 10
if x ** 3 + y ** 3 + z ** 3 == i:
print(f'{i}是水仙花数')