Python 阿姆斯特朗数字检查器
验证一个数字是否是阿姆斯特朗(自恋)数字,其中它自己的数字之和的位数次方等于数字本身。
概述
阿姆斯特朗数(也称为自恋数或过完美数字不变数)是一个 n 位数字,等于其数字的 n 次方之和。
例如,153 是 3 位阿姆斯特朗数,因为 1^3 + 5^3 + 3^3 = 153。同样,9474 是 4 位阿姆斯特朗数,因为 9^4 + 4^4 + 7^4 + 4^4 = 9474。
我们在 Python 中实现这一点,方法是将整数转换为字符串,以便轻松计算位数并迭代每个数字。
代码和执行输出
检查一系列数字以确定它们是否满足阿姆斯特朗数的数学标准。
armstrong.py
在编辑器中尝试def is_armstrong(num):
num_str = str(num)
n = len(num_str)
digit_sum = sum(int(digit) ** n for digit in num_str)
return digit_sum == num
test_nums = [153, 370, 9474, 123]
for val in test_nums:
result = "Armstrong" if is_armstrong(val) else "Not Armstrong"
print(f"{val:4d} -> {result}")端子输出
153 -> Armstrong
370 -> Armstrong
9474 -> Armstrong
123 -> Not Armstrong逐步实施
- 数论研究和逻辑练习
- 课堂数学编程作业
- 休闲节目
常见问题解答
所有的数字都是阿姆斯特朗数吗?
是的。任何一位数字的 1 次方都等于其自身(例如,5^1 = 5)。