fork download
  1. import Control.Monad
  2.  
  3. isPrime :: Integer -> Bool
  4. isPrime n = all (\i -> (n `rem` i) /= 0) $ takeWhile (\i -> i^2 <= n) [2..]
  5.  
  6. main :: IO ()
  7. main = do n <- readLn
  8. forM_ [1..n] $ \i ->
  9. putStrLn (show (i) ++ " is a prime? " ++ show (isPrime i))
Success #stdin #stdout 0.02s 3720KB
stdin
20
stdout
1 is a prime? True
2 is a prime? True
3 is a prime? True
4 is a prime? False
5 is a prime? True
6 is a prime? False
7 is a prime? True
8 is a prime? False
9 is a prime? False
10 is a prime? False
11 is a prime? True
12 is a prime? False
13 is a prime? True
14 is a prime? False
15 is a prime? False
16 is a prime? False
17 is a prime? True
18 is a prime? False
19 is a prime? True
20 is a prime? False