用于查找区间内阿姆斯特朗数的 Python 程序

要理解这个例子,你应该具备以下 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

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

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


另请阅读

你觉得这篇文章有帮助吗?

我们的高级学习平台,凭借十多年的经验和数千条反馈创建。

以前所未有的方式学习和提高您的编程技能。

试用 Programiz PRO
  • 交互式课程
  • 证书
  • AI 帮助
  • 2000+ 挑战