Python 编程:寻找小于 1000 的最大自幂数
Python 编程:寻找小于 1000 的最大自幂数
自幂数定义:一个自幂数是指一个数的各位数字的幂次之和等于它本身。
例如,153 是一个自幂数,因为 1^3+5^3+3^3=153。
解题思路:
我们可以先写一个函数,用于计算一个数的各位数字的幂次之和。然后,从大到小枚举小于1000的正整数,找到第一个自幂数即可。
代码实现如下:
def is_armstrong_number(num):
'''计算一个数的各位数字的幂次之和'''
sum = 0
temp = num
while temp > 0:
digit = temp % 10
sum += digit ** len(str(num))
temp //= 10
return sum == num
for i in range(999, 0, -1):
if is_armstrong_number(i):
print(f'小于 1000 的最大自幂数是:{i}')
break
解释:
-
is_armstrong_number(num)函数:- 计算
num的各位数字的幂次之和,并判断是否等于num本身,如果是则返回True,否则返回False。
- 计算
-
for循环:- 从 999 开始,递减到 1,枚举所有小于 1000 的正整数。
- 如果当前数字是自幂数,则输出该数字并终止循环。
运行结果:
程序将输出:
小于 1000 的最大自幂数是:371
总结:
通过以上代码,我们成功找到了小于 1000 的最大自幂数 371。 这段代码展示了如何使用 Python 进行简单的算法实现,并通过函数封装提高代码的可读性和可重用性。
原文地址: https://www.cveoy.top/t/topic/n2Me 著作权归作者所有。请勿转载和采集!