Python代码 在线执行

Python 程序:查找间隔内的阿姆斯特朗数

/examples/armstrong-interval

查找两个整数之间的所有阿姆斯特朗数的示例。 为了解决这个问题,我们使用了嵌套循环和if语句。

要理解此示例,您应该了解以下 [Python 编程]( "Python tutorial")主题:


一个正整数称为阿姆斯特朗数n,如果

abcd... = an + bn + cn + dn + ...

例如,

153 = 1*1*1 + 5*5*5 + 3*3*3  // 153 is an Armstrong number.

访问此页面以了解如何在 Python 中检查数字是否为阿姆斯特朗数。

源代码

# Program to check Armstrong numbers in a certain interval

lower = 100
upper = 2000

for num in range(lower, upper + 1):

   # order of number
   order = len(str(num))

   # initialize sum
   sum = 0

   temp = num
   while temp > 0:
       digit = temp % 10
       sum += digit ** order
       temp //= 10

   if num == sum:
       print(num) 

输出

153
370
371
407
1634 

在这里,我们在变量lower中设置了下限 100,在变量upper中设置了上限 2000。 我们已经使用循环从变量lower迭代到upper。 在迭代中,将lower的值增加 1,并检查其是否为阿姆斯特朗数。

您可以通过更改变量lowerupper来更改范围并进行测试。 注意,变量lower应当小于upper,此程序才能正常工作。