你可以在以下代码中找到如何解决此问题的步骤:

def narcissistic_number(m, n):
    result = []
    for num in range(m, n+1):
        digits = str(num)
        x = len(digits)
        sum_of_powers = sum(int(digit)**x for digit in digits)
        if sum_of_powers == num:
            result.append(num)
    return result

m, n = map(int, input().split())
numbers = narcissistic_number(m, n)
if len(numbers) > 0:
    for num in numbers:
        print(num)
else:
    print("No solution!")

这个函数 narcissistic_number 接收两个参数 m 和 n,并返回 [m, n] 之间的自幂数列表。它使用一个循环来遍历 [m, n] 范围内的所有数字,然后计算每个数字的每个位上的数字的 x 次幂之和。如果这个和等于数字本身,则将该数字添加到结果列表中。

然后,我们从输入中获取 m 和 n 的值,并调用 narcissistic_number 函数来获取自幂数列表。如果列表不为空,则逐行打印自幂数。如果列表为空,则打印 "No solution!"。


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

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