如果一个 3 位数等于其各位数字的立方和,则称这个数为水仙花数。例如: 153=13+53+33 ,因此 153 就是一个水仙花数。那么如何求 200 以内的水仙花数(3 位数)
分解出三位数字,求立方和
for i in range(100,200):
a = i//100
b = (i%100)//10
c = i%10
if a**3 + b**3 + c**3 == i:
print(i)
该回答引用GPT:
200以内的水仙花数可以用以下代码求出:
for num in range(100, 200):
# 分解出每一位数字
low = num % 10
mid = num // 10 % 10
high = num // 100
# 判断是否为水仙花数
if num == low ** 3 + mid ** 3 + high ** 3:
print(num)
如还有疑问,可留言帮助解决。
稍等,帮你写一个
for num in range(100, 201):
num_str = str(num)
sum = 0
for digit in num_str:
sum += int(digit) ** len(num_str)
if num == sum:
print(num)