Python 中的阿姆斯特朗数2025 年 6 月 6 日 | 阅读 5 分钟 在 Python 中,我们经常使用阿姆斯特朗数来理解编程的各种概念,如循环、条件语句、函数和数学运算。它在逻辑构建和理解编程的迭代和递归方法方面起着重要作用。 在接下来的章节中,我们将通过示例讨论什么是阿姆斯特朗数。我们还将查看一些 Python 程序来了解如何处理阿姆斯特朗数。 什么是阿姆斯特朗数?阿姆斯特朗数,也称为plusperfect、Plus Perfect或Narcissistic数,是一个 n 位正数,它等于其各位数字的 n 次幂(数字的位数)之和。 换句话说,如果我们取给定数字的每个数字,将其自身乘以 n 次,然后将结果值相加,我们将得到一个数字。如果结果数字与原始数字相同,则称该数字为阿姆斯特朗数。例如,153 (13 + 53 + 33 = 1 + 125 + 27 = 153) 是一个阿姆斯特朗数。 注意:我们没有两位数的阿姆斯特朗数。阿姆斯特朗数的通用公式可以定义为 其中 a, b, c, 和 d 是数字的各位,而 n 是给定数字中的位数。 阿姆斯特朗数的示例
数字的位数3 33 + 73 + 03 = 27 + 343 + 0 = 370 由于结果等于原始数字,因此 370 是一个阿姆斯特朗数。
数字的位数 4 94 + 44 + 74 + 44 = 6561 + 256 + 2401 + 256 = 9474 结果与原始数字匹配,因此 9474 是一个阿姆斯特朗数。
数字的位数 4 94 + 44 + 74 + 54 = 6561 + 256 + 2401 + 625 = 9843 9843 ≠ 9475,因此 9475 不是阿姆斯特朗数。 Python 程序检查数字是否为阿姆斯特朗数在此 Python 程序中,我们将看到如何检查给定数字是否为阿姆斯特朗数。 示例立即执行输出 Enter a number: 153 153 is an Armstrong number. Enter a number: 123 123 is not an Armstrong number. 说明 上面的示例显示了如何检查阿姆斯特朗数是否不是或是一个阿姆斯特朗数。它首先计算数字中的位数。之后,它将每个数字提高到给定数字总位数次幂,然后将结果相加。如果加法的结果与正在检查的数字相同,则它是一个阿姆斯特朗数。 因此,153 是一个阿姆斯特朗数,而 123 不是阿姆斯特朗数。 Python 程序查找给定范围内的所有阿姆斯特朗数在此 Python 程序中,我们将看到如何查找给定范围内的所有阿姆斯特朗数。 示例立即执行输出 Enter start of range: 100 Enter end of range: 1000 Armstrong numbers between 100 and 1000: [153, 370, 371, 407] Enter start of range: 5000 Enter end of range: 10000 Armstrong numbers between 5000 and 10000: [8208, 9474] 说明 这个用 Python 编写的程序可以找到指定范围内的所有阿姆斯特朗数并输出它们。它首先提示用户输入开始和结束值。之后,它使用 is_armstrong() 函数检查该范围内的每个数字。如果 is_armstrong() 对某个数字返回 true,则该数字将存储在一个列表中。程序最后打印出在该范围内找到的所有阿姆斯特朗数。 结论在本教程中,我们通过几个例子了解了什么是阿姆斯特朗数。我们还讨论了一些 Python 程序,例如检查给定数字是否为阿姆斯特朗数以及查找给定范围内的所有阿姆斯特朗数。 Python 阿姆斯特朗数选择题1. 哪些标准可以将一个数归类为阿姆斯特朗数?
答案:c) 一个数的各位数字的 n 次幂等于其本身。 2. 下列哪个是阿姆斯特朗数?
答案:b) 一百五十三,即 153 (因为 13 + 53 + 33 = 153) 3. 对于 number = 9474,以下代码返回什么?
答案: a) True 4. 这段代码的输出是什么?
答案:a) True (因为 3³ + 7³ + 0³ = 27 + 343 + 0 = 370) 5. 在 Python 中计算阿姆斯特朗数的逻辑中,短语 int(digit) ** num_digits 的作用是什么?
答案:c) 它将数字的 n 次幂计算为数字的数量。 下一主题Python 自然数求和 |
我们请求您订阅我们的新闻通讯以获取最新更新。