若该数等于各位数字的立方和,称该数为水仙花数。求100—999范围的所有水仙花数。
for num in range(100, 1000):
# 将数位拆分
digit1 = num // 100 # 百位数
digit2 = num // 10 % 10 # 十位数
digit3 = num % 10 # 个位数
# 计算立方和
cube_sum = digit1 ** 3 + digit2 ** 3 + digit3 ** 3
# 判断是否为水仙花数
if num == cube_sum:
print(num)
不知道你这个问题是否已经解决, 如果还没有解决的话:for i in range(100,1000):
x=i//100
y=i%100//10
z=i%100%10
if(i==x**3+y**3+z**3):
print(i)
输出结果:
153
370
371
407