Вопрос, который вызвал трудности
Напишите программу, которая выводит в одну строчку все делители передонного ей числа, разделяя их пробелами.
Ответ экспертов Учись.Ru
Чтобы дать полноценный ответ, был привлечён специалист, который хорошо разбирается в теме.
После обсуждения с другими специалистами сервиса мы пришли к выводу, что правильный ответ на ваш вопрос будет звучать следующим образом:
// PascalABC.NET 3.0, сборка 1128
var
i,j,k,n,p:longint;
f:array[1..10,1..2] of longint;
begin
p:=2; i:=1;
f[1,1]:=1; f[1,2]:=1;
Write('Введите натуральное число не больше 2 147 483 647: ');
Read(n);
while n<>1 do begin
if (n mod p)=0 then begin
if f[i,1]<>p then
begin Inc(i); f[i,1]:=p; f[i,2]:=1 end
else Inc(f[i,2]);
n:=n div p
end
else inc(p)
end;
k:=i;
for i:=2 to k do
for j:=1 to f[i,2] do Write(f[i,1],' ');
Writeln
end.
Тестовое решение:
Введите натуральное число не больше 2 147 483 647: 37534
2 7 7 383