Python 编程挑战:求解自幂数
你可以在以下代码中找到如何解决此问题的步骤:
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 著作权归作者所有。请勿转载和采集!