program p178530;
{ Программа - разгадка числового ребуса СССР=Р^Ф }
{ Идея решения: перебрать все четырехзначные числа вида XXXY и выяснить,
не является ли какое-то из них степенью Y. }
var
i, j: integer; { счетчики начальных и последней цифр }
tested: integer; { тестируемое число }
r: integer; { показатель степени (или минус единица) }
function TryPower(val: LongInt; n: integer): integer;
{ Если число n=1 или val не является степенью числа n, возвращается -1 }
{ В противном случае возвращается показатель степени }
var
p: LongInt;
i: integer;
begin
if n=1 then
TryPower := -1
else
begin
p:= n;
i:= 1;
while p<val do
begin
p:=p*n;
i:= i+1;
end;
if p=val then { n^i==val }
TryPower := i
else
TryPower := -1;
end;
end; { TryPower }
begin { main }
for i:= 1 to 9 do { начальные цифры }
for j:= 1 to 9 do { последняя цифра }
if j<>i then begin
{ последняя цифра отличается от первой }
tested := 1110*i+j;
r := TryPower(tested, j);
if r in [2..9] then
writeln(tested, '=', j, '^', r);
end;
readln;
end.
Если Вы уже зарегистрированы на Портале - войдите в систему, если Вы еще не регистрировались - пройдите простую процедуру регистрации.