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

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)

 

posted on 2023-09-18 09:49  aster_ist  阅读(147)  评论(0编辑  收藏  举报

导航