用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)