水仙花数的定义是,这个数等于他每一位上数的幂次之和 见维基百科的定义
比如一个3位的十进制整数153
就是一个水仙花数。因为 153 = 13 + 53 + 33。
而一个4位的十进制数1634
也是一个水仙花数,因为 1634 = 14 + 64 + 34 + 44。
给出n
,找到所有的n位十进制水仙花数。
a = [(i*100+j*10+k == i**3+j**3+k**3, i**3+j**3+k**3) for i in range(1, 10) for j in range(0, 10) for k in range(0, 10)]
b = filter(lambda x: x[0], a)
c = list(map(lambda x: x[1], b))
很巧妙的