📅  最后修改于: 2023-12-03 14:47:53.672000             🧑  作者: Mango
在 TCS 编码实践中,我们经常会遇到需要检查阿姆斯壮编号的问题。阿姆斯壮编号是指一个 n 位数的每个位上的数字的 n 次方之和等于该数本身。例如,153 是一个阿姆斯壮编号,因为 1^3 + 5^3 + 3^3 = 153。
本文将介绍如何编写一个程序来检查一个给定的数是否是阿姆斯壮编号。我们将使用 Markdown 格式来说明代码片段。
def is_armstrong_number(num):
# 将数值转换为字符串
str_num = str(num)
# 计算阿姆斯壮编号的位数
power = len(str_num)
# 初始化总和为 0
total = 0
# 遍历每个数字并计算阿姆斯壮编号的总和
for digit in str_num:
total += int(digit) ** power
# 检查总和是否等于原始数值
return total == num
power
。total
为 0,用于存储阿姆斯壮编号的总和。for
循环遍历每个数字,并将其转换为整数类型后,计算其 power
次方,并累加到 total
上。print(is_armstrong_number(153)) # 输出 True
print(is_armstrong_number(370)) # 输出 True
print(is_armstrong_number(9474)) # 输出 True
print(is_armstrong_number(123)) # 输出 False
上述示例中,is_armstrong_number()
函数分别检查了 153、370、9474 和 123 这几个数是否是阿姆斯壮编号,并按照结果进行了输出。
使用上述代码片段,我们可以很方便地检查一个给定的数是否是阿姆斯壮编号。你可以根据自己的编程需求,将其集成到你的项目中,并根据实际情况进行适当的修改和优化。