Регистрация
Войти
Стать экспертом Правила
Информатика

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

ОТВЕТЫ
Сумма 4-х степеней N-значного числа не превосходит N * 9^4 lt; 10000N.
С другой стороны, N-значное число больше 10^(N-2).
Для того, чтобы одно было равно другому, должно выполниться
10^(N - 2) lt; 10000N, 10^N lt; N * 10^6.
Так может быть, только если N lt; 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.
94
Контакты
Реклама на сайте
Спрошу
О проекте
Новым пользователям
Новым экспертам