RosettaCodeData/Task/Prime-decomposition/PascalABC.NET/prime-decomposition.pas

20 lines
326 B
ObjectPascal
Raw Permalink Normal View History

2024-07-13 15:19:22 -07:00
function Factors(N: BigInteger): List<BigInteger>;
begin
var lst := new List<BigInteger>;
if N = 1 then
lst.Add(N);
var i := 2bi;
while i * i <= N do
begin
while N mod i = 0 do
begin
lst.Add(i);
N := N div i;
end;
i += 1;
end;
if N >= 2 then
lst.Add(N);
Result := lst;
end;