blob: f50c2debae0357f4f5ea422221615598bde9f3a2 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
|
p3 :: Integer
p3 = maximum $ factors 600851475143 []
where
factors :: Integer -> [Integer] -> [Integer]
factors 1 l = l
factors n l = factors (div n divisor) (divisor:l)
where divisor = head $ filter (\x -> mod n x == 0) [2..]
main = putStrLn $ "Solution: " ++ show p3
|