Условие:
Удивительно, но существует только три числа, которые могут быть записаны в виде суммы четвертых степеней их цифр:
1634 = 14 + 64 + 34 + 44
8208 = 84 + 24 + 04 + 84
9474 = 94 + 44 + 74 + 44
1 = 14 не считается, так как это — не сумма.
Сумма этих чисел равна 1634 + 8208 + 9474 = 19316.
Найдите сумму всех чисел, которые могут быть записаны в виде суммы пятых степеней их цифр.
Решение:
import sys if sys.version_info.major == 2: range = xrange def compute(): # Исключаем 1 = 1^5 # Если число имеет как минимум n >= 7 цифр, тогда даже если цифр 9, n * 9^5 все равно меньше чем число(которое минимум 10^n). ans = sum(i for i in range(2, 1000000) if i == fifth_power_digit_sum(i)) return str(ans) def fifth_power_digit_sum(n): return sum(int(c)**5 for c in str(n)) if __name__ == "__main__": print(compute())