// 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
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