Поделитесь своими знаниями, ответьте на вопрос:
КОД НА С++!! ОЧЕНЬ НЕВЕРНЫЙ ОТВЕТ УДАЛЮ. КАК МОЖНО БЫСТРЕЕ Степень Для того чтобы проверить, как её ученики умеют считать, Мария Ивановна каждый год задаёт им на дом одну и ту же задачу — для заданного натурального A найти минимальное натуральное N такое, что N в степени N (N, умноженное на себя N раз) делится на A. От года к году и от ученика к ученику меняется только число A. Вы решили будущим поколениям. Для этого вам необходимо написать программу, решающую эту задачу. Входные данные Во входном файле содержится единственное число A (1≤A≤109 — на всякий случай; вдруг Мария Ивановна задаст большое число, чтобы «завалить» кого-нибудь… Выходные данные В выходной файл вывести единственное число N. Примеры Ввод 1 8 Вывод 4 Ввод 2 1 Вывод 1
var i, n, d, sd, s4d, kd, kn4d, k4d, kbd:integer;
begin
writeln ('Введите само число и число d');
read (n, d);
writeln ('Делители:');
I:=1;
sd:=0;
s4d:=0;
kd:=0;
kn4d:=0;
k4d:=0;
kbd:=0;
while I <=n do
begin
if n mod I = 0 then
begin
kd:=kd+1;
writeln (I);
sd:=sd+I;
if I > d then
kbd:=kbd+1;
if I mod 2 = 0 then
begin
s4d:=s4d+I;
k4d:=k4d+1;
end
else
kn4d:=kn4d+1;
end;
I:=I+1;
end;
writeln (' ');
writeln ('сумма делителей ', sd);
writeln ('сумма четных делителей ', s4d);
writeln ('количество делителей ', kd);
writeln ('количество нечетных делителей ', kn4d);
writeln ('количество четных делителей ', k4d);
writeln ('количество делителей болеше d ', kbd);
end.