Skip to content

Instantly share code, notes, and snippets.

@qoelet
Created October 8, 2013 15:38
Show Gist options
  • Save qoelet/6886668 to your computer and use it in GitHub Desktop.
Save qoelet/6886668 to your computer and use it in GitHub Desktop.
-- prime factorization
-- definitely needs improvement :X
getPrimeFactor :: Integer -> [Integer] -> (Integer, Integer)
getPrimeFactor n (p:ps) | n `mod` p == 0 = (p, (n `div` p))
| otherwise = getPrimeFactor n ps
getPrimeFactors :: Integer -> [Integer] -> [Integer]
getPrimeFactors n s | not (result == 1) = factor : getPrimeFactors result s
| otherwise = [factor]
where
(factor, result) = getPrimeFactor n s
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment