RosettaCodeData/Task/Prime-decomposition/Pure/prime-decomposition.pure
2023-07-01 13:44:08 -04:00

6 lines
204 B
Text

factor n = factor 2 n with
factor k n = k : factor k (n div k) if n mod k == 0;
= if n>1 then [n] else [] if k*k>n;
= factor (k+1) n if k==2;
= factor (k+2) n otherwise;
end;