Project Euler Problem 30
7桁の数の各桁の5乗の和の最大値は
9^5 * 7 = 413343 (9999999のとき)であり
7桁にならないので、
6桁の数まで調べればいいらしい。
正確には、354294(=9^5 * 6)まで調べればよさそう
def sum_of_fifth_power_of_digits(n): digits = map(int, str(n)) fifth_power = lambda n: n ** 5 return sum(map(fifth_power, digits)) def written_as_digit_fifth_power(n): return n == sum_of_fifth_power_of_digits(n) print(sum(filter(written_as_digit_fifth_power, range(2, 1000000))))