1.题目:
水仙花数是指一个n位数(n≥3),它的每个位上的数字的n次幂之和等于它本身。如: 1^3+5^3+3^3=153, 8^4+2^4+0^4+8^4 = 8208.
求100~9999之间所有的水仙花数
2.源码:
[n for n in xrange(100, 10000) if (lambda sn: sum(int(x) ** len(sn) for x in sn) == n)(str(n))]
3.思路:拆开 -> 乘方 -> 加和 -> 比较.

1.题目:
水仙花数是指一个n位数(n≥3),它的每个位上的数字的n次幂之和等于它本身。如: 1^3+5^3+3^3=153, 8^4+2^4+0^4+8^4 = 8208.
求100~9999之间所有的水仙花数
2.源码:
[n for n in xrange(100, 10000) if (lambda sn: sum(int(x) ** len(sn) for x in sn) == n)(str(n))]
3.思路:拆开 -> 乘方 -> 加和 -> 比较.