Саша составляет 5-буквенные слова, в которых могут быть только буквы У, Р, О, К. При этом буква О используется в каждом слове ровно 1 раз. Каждая из других допустимых букв может встречаться в слове любое количество раз или не встречаться совсем. Словом считается любая допустимая последовательность букв, не обязательно осмысленная. Сколько существует таких слов, которые может написать Саша?
function Search(n: integer): integer;
var
input: array[1..4] of integer;
even: array[1..4] of integer;
atLestOne: boolean;
begin
input[1] := n div 1000;
input[2] := n mod 1000 div 100;
input[3] := n mod 100 div 10;
input[4] := n mod 10;
if (input[1] mod 2 = 0)
begin
even[1] := input[1];
atLestOne := True;
end;
if (input[2] mod 2 = 0)
begin
even[2] := input[2];
atLestOne := True;
end;
if (input[3] mod 2 = 0)
begin
even[3] := input[3];
atLestOne := True;
end;
if (input[4] mod 2 = 0)
begin
even[4] := input[4];
atLestOne := True;
end;
if atLestOne = True then
Search := Low(even)
else
Search := -1;
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.