Напишите функцию, вычисляющую сумму четвертых степеней цифр этого числа. Используя эту функцию, напишите программу, выводящую все числа, равные сумме четвертых степеней своих цифр.

Напишите функцию, вычисляющую сумму четвертых степеней цифр этого числа. Используя эту функцию, напишите программу, выводящую все числа, равные сумме четвертых степеней своих цифр.
Гость
Ответ(ы) на вопрос:
Гость
Сумма 4-х степеней N-значного числа не превосходит N * 9^4 < 10000N. С другой стороны, N-значное число больше 10^(N-2). Для того, чтобы одно было равно другому, должно выполниться 10^(N - 2) < 10000N, 10^N < N * 10^6. Так может быть, только если N < 7, поэтому ищем числа среди 1..999999. Код: function Sum4Deg(n: integer): integer; var   s: integer; begin   s := 0;   repeat     s := s + sqr(sqr(n mod 10));     n := n div 10;   until n = 0;   Sum4Deg := s; end; var   i: integer; begin   for i := 1 to 999999 do     if i = Sum4Deg(i) then       writeln(i); end.
Не нашли ответ?
Ответить на вопрос
Похожие вопросы