RosettaCodeData/Task/Prime-decomposition/SequenceL/prime-decomposition-2.sequencel
2016-12-05 23:44:36 +01:00

8 lines
302 B
Text

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]);