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

解释:

  1. is_armstrong_number(num) 函数:

    • 计算 num 的各位数字的幂次之和,并判断是否等于 num 本身,如果是则返回 True,否则返回 False。
  2. for 循环:

    • 从 999 开始,递减到 1,枚举所有小于 1000 的正整数。
    • 如果当前数字是自幂数,则输出该数字并终止循环。

运行结果:

程序将输出:

小于 1000 的最大自幂数是:371

总结:

通过以上代码,我们成功找到了小于 1000 的最大自幂数 371。 这段代码展示了如何使用 Python 进行简单的算法实现,并通过函数封装提高代码的可读性和可重用性。

Python 编程:寻找小于 1000 的最大自幂数

原文地址: https://www.cveoy.top/t/topic/n2Me 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录