11 lines
402 B
Haskell
11 lines
402 B
Haskell
-- What is the largest prime factor of the number 600851475143 ?
|
|
n `divides` m = m `mod` n == 0
|
|
primes = go [2..] where go (p:ps) = p : go (filter (\n -> not (p `divides` n)) ps)
|
|
|
|
factors n = go primes n
|
|
where go (p:ps) n | n < p = []
|
|
| p `divides` n = p : go (p:ps) (n `div` p)
|
|
| otherwise = go ps n
|
|
|
|
main = print $ last $ factors 600851475143
|