阿姆斯特朗数(Armstrong number)是指一个 n 位数(n ≥ 3),它的每个位上的数字的 n 次幂之和等于它本身。例如,153 是一个阿姆斯特朗数,因为 1^3 + 5^3 + 3^3 = 153。
下面是一个判断一个数是否为阿姆斯特朗数的示例代码:
def is_armstrong_number(num):
# 将数字转换为字符串,获取位数
num_str = str(num)
n = len(num_str)
# 计算每个位上的数字的 n 次幂之和
sum = 0
for digit in num_str:
sum += int(digit) ** n
# 判断是否为阿姆斯特朗数
if sum == num:
return True
else:
return False
# 测试是否为阿姆斯特朗数
num = 153
if is_armstrong_number(num):
print(num, "是阿姆斯特朗数")
else:
print(num, "不是阿姆斯特朗数")
输出结果为:153 是阿姆斯特朗数
注意:上述代码只是判断一个数是否为阿姆斯特朗数,如果要判断一定范围内的所有阿姆斯特朗数,可以使用一个循环来遍历范围内的每个数,并调用 is_armstrong_number() 函数进行判断。
上一篇:阿姆斯特朗数的替代输出