Написать программку на паскале. Для того чтоб проверить, как ее воспитанники

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

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

Program AnimeTop;

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.

Крещева Маша
Необходимо решение? Свяжись со мной по ВК, мой ид 462257808.
, оставишь ответ?
Имя:*
E-Mail:


Последние вопросы

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

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

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

Войти на сайт