Напишите программу, которая выводит в одну строчку все делители передонного ей числа, разделяя их пробелами.
Напишите программу, которая выводит в одну строчку все делители передонного ей числа, разделяя их пробелами.
Ответ(ы) на вопрос:
Гость
// 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
Не нашли ответ?
Похожие вопросы