Предмет: Информатика,
автор: coolhacker11
Напишите функцию, вычисляющую сумму четвертых степеней цифр этого числа. Используя эту функцию, напишите программу, выводящую все числа, равные сумме четвертых степеней своих цифр.
Ответы
Автор ответа:
0
Сумма 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.
С другой стороны, 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.
Похожие вопросы
Предмет: Математика,
автор: tuckovaangelina444
Предмет: Окружающий мир,
автор: balashihatort
Предмет: Математика,
автор: Аноним
Предмет: Математика,
автор: violetikk
Предмет: Математика,
автор: nastasyadudko1