Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- euler3 = last . primeFactors allPrimes
- where
- primeFactors _ 1 = []
- primeFactors p@(y:ys) x | x `mod` y == 0 = y : primeFactors p (x `div` y)
- | otherwise = primeFactors ys x
- isPrime x = all (/= 0) . map (x `mod`) $ [2..sqrRoot x]
- sqrRoot = truncate . sqrt . fromIntegral
- allPrimes = 2 : filter (isPrime) [3,5..]
- main = do
- putStrLn . show . euler3 $ 13195
- putStrLn . show . euler3 $ 600851475143
Advertisement
Add Comment
Please, Sign In to add comment