num=int(input("please enter number: "))
for num in range(num, 1000):
sum1=0
numcp=num
if(num>=10 and num<100):
while(num>0):
digit=int(num%10)
d2=digit*digit
sum1=sum1+d2
num=int(num/10)
if(num>=100 and num<1000):
while(num>0):
digit=int(num%10)
d2=digit*digit*digit
sum1=sum1+d2
num=int(num/10)
if(numcp==sum1):
print("angstrong number: ", sum1)
这段 python 代码有什么问题。它一直工作到407然后停止。我无法弄清楚为什么当我提供的范围是 1000 时它会停止。
Edited
对于数字到 100000 或 1000000 的任何其他更多 Pythonic 方法。
我不想多次复制这个 if 块( if(num>=10 and num
阿姆斯特朗数字 http://www.cs.mtu.edu/~shene/COURSES/cs201/NOTES/chap04/arms.html?到目前为止你似乎是对的
以下是上述程序的输出。因此,有
0 到 999 范围内的六个阿姆斯特朗数字。
阿姆斯特朗数字:0、1、153、370、371、407
如果你想知道你是否到达了终点,你可能应该放一个
print(num)
循环之后
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)