如果一个n位正整数等于其各位数字的n次方之和,则称该数为阿姆斯特朗数。 例如1^3 + 5^3 + 3^3 = 153。
1000以内的阿姆斯特朗数: 1, 2, 3, 4, 5, 6, 7, 8, 9, 153, 370, 371, 407
num = int(input("请输入一个数字:"))
sum= 0
n = len(str(num))
temp = num
while temp >0:
digit = temp %10 # 获取个位数字
sum += digit**n # 对计算结果进行累加
temp //= 10
if num == sum :
print("太棒了!",num,"是阿姆斯特朗数")
else:
print("很遗憾!",num,"不是阿姆斯特朗数")
lower = int(input("最小值:"))
upper = int(input("最大值:"))
print("下面是你想要从{}到{}之间的阿姆斯特朗数\n".format(lower,upper))
for num in range(lower,upper+1):
sum = 0
n = len(str(num))
temp = num
while temp >0:
digit = temp %10 # 获取个位数字
sum+= digit**n # 对计算结果进行累加
temp //= 10
if num == sum:
print(num)