module Math where
isPrime :: Int -> Bool
isPrime n = (length [ x | x <- [2..(ceiling $ sqrt $ fromIntegral 2)],
n `mod` x == 0]) == 0
factors :: Int -> [Int]
factors n = [x | x <- [1..(n `div` 2)], n `mod` x == 0] ++ [n]
intersect' :: [Int] -> [Int] -> [Int]
intersect' a b = [x | x <- a, x `elem` b]