令人惊奇的,只有三个数能够写成它们各位数的四次方之和:
1634 = 14 + 64 + 34 + 44
8208 = 84 + 24 + 04 + 84
9474 = 94 + 44 + 74 + 44
1 = 14没有被算作在内因为它不是一个和。
这些数字的和是 1634 + 8208 + 9474 = 19316.
找出所有能被写成各位数字五次方之和的数之和。
# 最大是6位数
# 7 * 9 ** 5为6位数
sum_5 = 0
for i in range(2, 6 * 9 ** 5 + 1):
i_sum = 0
j = i
while j:
i_sum += (j % 10) ** 5
j //= 10
if i_sum == i:
sum_5 += i
print(sum_5)