如果一个正整数是 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
这里,我们使用 Python range() 将变量 lower 中的下限设置为 100,将变量 upper 中的上限设置为 2000。我们使用 for 循环 从变量 lower 迭代到 upper。在迭代中,lower 的值增加 1,并检查它是否是阿姆斯特朗数。
您可以通过更改变量 lower 和 upper 来更改范围并进行测试。请注意,为了使此程序正常工作,变量 lower 应小于 upper。
另请阅读