Talk:99 questions/Solutions/31

From HaskellWiki
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Does something as simple but as dump as this should be on the wiki ?

isPrime :: Int -> Bool
isPrime n | n <= 1 = False
isPrime n = isPrime' 2 n
    where isPrime' x n | x*x > n   = True
                       | otherwise = (n `rem` x) /= 0 && isPrime' (x+1) n

And something as simple as this one...

isPrime :: Int -> Bool isPrime n = all (\x -> n `mod`x /= 0) [2..sqr] where sqr = floor (sqrt (fromIntegral n :: Double))

-- Assuming that a number is not a prime if he is divisible by any number between 2 and his sqrt