一行代码求水仙花数,一行代码水仙花数,python求水仙花数[


python求水仙花数

[Python]代码

#method1print [x for x in range(10**5) if sum(i**len(str(x)) for i in [int(j) for j in str(x)])==x]#method2print filter(lambda n: sum(map(lambda x: x**len(str(n)),map(int,list(str(n)))))==n,range(10**5))#method3from itertools import productprint [[n*'%s'%(i) for i in product(*([range(1,10)]+[range(0,10)]*(n-1))) if reduce(lambda x,y: 10*x+y,i)==sum(k**n for k in i)] for n in range(1,5+1)]

评论关闭