发布网友
共2个回答
热心网友
n = 5 #阶数 ,可以把这里逻辑改成输入获取input ,当然数据n太大python就报错了
print filter(lambda x:sum(map(lambda x:int(x)**n,str(x)))==x,range(10**(n-1),10**n))
热心网友
最暴力的代码
for r in range(10):追问几阶就有几位数,这个不能全部适用啊
追答for r in range(1, 100):
print('R=' + str(r))
for i in range(10**(r-1),10**r-1):
s = 0
for j in str(i):
s += int(j)**r
if s == i:
print(i)
更加暴力