Написать программу на паскале. Для того чтобы проверить, как ее ученики умеют считать, Мария Ивановна каждый год задает им на дом одну и ту же задачу – «Для заданного натурального A найти минимальное натуральное N такое, что N в степени N (N, умноженное на себя N раз) делится на A». Из года в год и от ученика к ученику меняется только число A. Вы решили помочь будущим поколениям. Для этого вам необходимо написать программу, решающую эту задачу Формат входных данных. Во входном файле содержится единственное число A (1<=A <=1000000000). Формат выходных данных. В выходной файл вывести единственное число N.
program FindMinN; var A, N, temp: integer; begin assign(input, 'input.txt'); assign(output, 'output.txt'); reset(input); rewrite(output); readln(A); N := 1; temp := 1; while temp mod A <> 0 do begin temp := temp * N; N := N + 1; end; writeln(N); close(input); close(output); end.
Пример работы программы:
Входной файл: 3 Выходной файл: 2
Данная программа считывает число A из файла "input.txt", находит минимальное число N, такое что N в степени N делится на A, и выводит результат в файл "output.txt".
Программа на Паскале:
program FindMinN;var
A, N, temp: integer;
begin
assign(input, 'input.txt');
assign(output, 'output.txt');
reset(input);
rewrite(output);
readln(A);
N := 1;
temp := 1;
while temp mod A <> 0 do
begin
temp := temp * N;
N := N + 1;
end;
writeln(N);
close(input);
close(output);
end.
Пример работы программы:
Входной файл:3
Выходной файл:
2
Данная программа считывает число A из файла "input.txt", находит минимальное число N, такое что N в степени N делится на A, и выводит результат в файл "output.txt".