RosettaCodeData/Task/Prime-decomposition/SequenceL/prime-decomposition-2.seque...

9 lines
302 B
Plaintext

primeFactorization(num) := primeFactorizationHelp(num, 2, []);
primeFactorizationHelp(num, divisor, factors(1)) :=
factors when num <= 1
else
primeFactorizationHelp(num, divisor + 1, factors) when num mod divisor /= 0
else
primeFactorizationHelp(num / divisor, divisor, factors ++ [divisor]);