summaryrefslogtreecommitdiff
path: root/haskell/p3.hs
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