RosettaCodeData/Task/Prime-decomposition/PL-0/prime-decomposition.pl0
2023-07-01 13:44:08 -04:00

22 lines
326 B
Text

var i, n, nmodi;
begin
? n;
if n < 0 then n := -n;
if n >= 2 then
begin
i := 2;
while i * i <= n do
begin
nmodi := n - (n / i) * i;
if nmodi = 0 then
begin
n := n / i;
! i;
i := 2
end;
if nmodi <> 0 then
i := i + 1
end;
! n
end;
end.