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

7 lines
195 B
Plaintext

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;