python求阿姆斯特朗数

阿姆斯特朗数的定义:

如果一个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,是

python求阿姆斯特朗数_第1张图片

 求动态范围内的阿姆斯特朗数

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的范围,输出为

 

你可能感兴趣的:(python)