阿姆斯特朗数:如果一个n位正整数等于其各位数字的n次方之和,则称该数为阿姆斯特朗数。
例如1^3 + 5^3 + 3^3 = 153。
python代码
#取指定范围内的阿姆斯特朗数
#获取用户输入的范围
#下限
lower=int(input("请输入范围下限:"))
#上限
upper=int(input("请输入换位上限:"))
for num in range(lower,upper+1):
#初始化变量
sum=0
#指数
n=len(str(num))
#检测
temp=num#把num的值赋给temp,避免num的值出现变化,便于后续和sum的比较。
while temp>0:
digit=temp%10#取余,并把结果赋值给digit
sum+=digit**n
temp//=10#取整,并把结果赋值给temp
if num==sum:
print("在{}-{}范围内的阿姆斯特朗数有:{}".format(lower,upper,num))
例如求取6666-9999范围内的阿姆斯特朗数:
请输入范围下限:6666
请输入换位上限:9999
在6666-9999范围内的阿姆斯特朗数有:8208
在6666-9999范围内的阿姆斯特朗数有:9474