原文: https://www.programiz.com/python-programming/examples/armstrong-interval
要理解此示例,您应该了解以下 Python 编程主题:
一个正整数称为阿姆斯特朗数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,并检查其是否为阿姆斯特朗数。
您可以通过更改变量lower和upper来更改范围并进行测试。 注意,变量lower应当小于upper,此程序才能正常工作。