Python求水仙花数

如果一个 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)