Talk:99 questions/Solutions/31

From HaskellWiki
Revision as of 11:15, 14 October 2013 by Mico wr (talk | contribs)
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