阿姆斯特朗数的定义:
如果一个n位正整数等于其各位数字的n次方之和,则称该数为阿姆斯特朗数。
例如1^3 + 5^3 + 3^3 = 153'''
num = int(input(">> "))
k = 0
n = len(str(num)) # 如果没有转换成int就不需要str
#次方值
num1 = num #设置变量防止循环后num永远为0
while num1 > 0:
kk = num1 % 10
k += kk ** n
num1 //= 10
if num == k:
print("是阿姆斯特朗数")
else:
print("不是阿姆斯特朗数")
输入26,不是
输入153,是
求动态范围内的阿姆斯特朗数
x = int(input(">> ")) #默认y>x
y = int(input(">> "))
for g in range(x,y + 1):
n = len(str(g))
k = 0
g1 = g
while g1 > 0:
kk = g1 % 10
k += kk ** n
g1 //= 10
if g == k:
print(g,end= ' ')
输入1到1000的范围,输出为