用python求100到999以内的水仙花数(不用除法求各项)

发布时间 2023-09-18 09:52:52作者: aster_ist
c = 0
for a in range(100,1000):
    for b in str(a):
        a1 = int(b)
        c =c+a1**3
    if a == c:
        print(a)
    c = 0

输出结果为

153

370

371

407

使用for循环来取数字中的每一位,不过数字要先化为str格式来取然后再化为int格式来赋值,要注意c的值每一次要记得清零。

下面附上用了除法的版本

for a in range(100,1000):
    b = a%10
    c = a//10%10
    d = a//100
    if b**3+c**3+d**3 == a:
        print(a)