Python求n位的自幂数

一个n位自然数等于自身各个数位上数字的n次幂之和,则称此数为自幂数。

方法1

n = int(input('请输入位数:'))
for num in range(10**(n-1), 10**n):
    if sum(map(lambda i: int(i)**n, str(num))) == num:
        print(num)

方法2

n = int(input('请输入位数:'))
result = filter(lambda num: sum(map(lambda i: int(i)**n, str(num))) == num,
                range(10**(n-1), 10**n))
for num in result:
    print(num)

你可能感兴趣的:(Python,python)