Для того чтоб проверить, как ее воспитанники могут считать, Мария Ивановна
Для того чтоб проверить, как ее воспитанники могут считать, Мария Ивановна каждый год задает им на дом одну и ту же задачку Для заданного натурального A найти минимальное естественное N такое, что N в ступени N (N, умноженное на себя N раз) делится на A. Из года в год и от ученика к воспитаннику изменяется только число A. Вы решили посодействовать будущим поколениям. Для этого вам необходимо написать программку, решающую эту задачку Формат входных данных. Во входном файле содержится единственное число A (1 A 109). Формат выходных данных. В выходной файл вывести единственное число N. Образцы.
input.txt output.txt 8 4 13 13
Имя входного файла input.txt. Имя входного файла output.txt. Наибольшее время работы на одном тесте 2 сек. Наибольшее время работы на одном тесте 2 сек. Наибольший объем применяемой памяти 32 мб
Program Jopascal;
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.
-
Вопросы ответы
Статьи
Информатика
Статьи
Разные вопросы.
Математика.
Разные вопросы.
Математика.
Физика.
Геометрия.
Разные вопросы.
Обществознание.
Математика.
Химия.