Задача по информатике олимпиада ПОМОГИТЕ ПОЖАЛУЙСТАДля того чтобы проверить, как её

Задача по информатике олимпиада ПОМОГИТЕ ПОЖАЛУЙСТА

Для того чтоб проверить, как её воспитанники могут считать, Мария Ивановна каждый год задаёт им на дом одну и ту же задачку для данного естественного A отыскать минимальное естественное N такое, что N в степени N (N, умноженное на себя N раз) делится на A. От года к году и от ученика к воспитаннику изменяется только число A. Вы решили посодействовать будущим поколениям. Для этого вам нужно написать программу, решающую эту задачку. Формат входных данных На вход подаётся единственное число A (1A1000000000 на всякий случай; вдруг Мария Ивановна задаст великое число, чтобы завалить кого-нибудь). Формат выходных данных Вывести единственное число N.

Задать свой вопрос
1 ответ

Program YaBidlo;

Var

  i, A: longint;

  x,

  u, j,  

  N, m : longint;

Function FDiv (A, left : LongInt) : LongInt;

var

d,  

i : longint;

begin

d := 1;  

for i := left to Trunc (Sqrt (A)) do

if (A mod i = 0)

then

begin

d := i;  

Break;  

end;

if (d lt;gt; 1)

then

FDiv := d

else  

FDiv := A;

end;

Function g (N, u : longint) : longint;

var

i : longint;  

begin

i := 0;  

while (N mod u = 0)

do

begin

Inc (i);

N := N div u;

end;

g := i;

end;

Begin

Assign (Input, 'input.txt');

Assign (Output, 'output.txt');

Reset (Input);

Read (A);

Close (Input);

m := 0;

N := 1;  

i := FDiv (A, 2);

u := 2;  

while (A gt; 1)

do

begin

N := N * i;  

j := 0;  

 while (A mod i = 0)

 do

begin

Inc (j);

A := A div i;

end;

if (j gt; m)

then

begin

m := j;  

u := i;  

end;

i := FDiv (A, i + 2);

end;

x := 1;

while (g (N * x, u) * N * x lt; m)

do

Inc (x);

N := N * x;  

ReWrite (Output);

Write (N);

Close (Output);

End.

, оставишь ответ?
Имя:*
E-Mail:


Добро пожаловать!

Для того чтобы стать полноценным пользователем нашего портала, вам необходимо пройти регистрацию.
Зарегистрироваться
Создайте собственную учетную запить!

Пройти регистрацию
Авторизоваться
Уже зарегистрированны? А ну-ка живо авторизуйтесь!

Войти на сайт