RosettaCodeData/Task/Prime-decomposition/Pure/prime-decomposition.pure

7 lines
204 B
Text
Raw Permalink Normal View History

2023-07-01 11:58:00 -04:00
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;