# Difference between revisions of "Talk:99 questions/Solutions/31"

From HaskellWiki

(→And something as simple as this one...: new section) |
|||

Line 10: | Line 10: | ||

== And something as simple as this one... == |
== And something as simple as this one... == |
||

+ | <haskell> |
||

isPrime :: Int -> Bool |
isPrime :: Int -> Bool |
||

isPrime n = all (\x -> n `mod`x /= 0) [2..sqr] |
isPrime n = all (\x -> n `mod`x /= 0) [2..sqr] |
||

where sqr = floor (sqrt (fromIntegral n :: Double)) |
where sqr = floor (sqrt (fromIntegral n :: Double)) |
||

− | |||

+ | </haskell> |
||

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

## Revision as of 11:15, 14 October 2013

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