Prime factor finder

Haskell

Public Domain

A somewhat fastish function for finding prime factors of Integers

Download (right click, save as, rename as appropriate)

Embed

Tags:

Haskell Prime
1
2
3
4
5
6
7
8
primeFactors :: Integer -> [Integer]
primeFactors n | n > 1 = pf 2 n
               | otherwise = []
    where pf d n = if d*d > n
                    then []
                    else case divMod n d of 
                              (n',0) -> d : pf d n'
                              _      -> pf (d+1) n