Anonymous user
Loops/Increment loop index within loop body: Difference between revisions
Loops/Increment loop index within loop body (view source)
Revision as of 16:59, 9 April 2020
, 4 years ago→{{header|Haskell}}
(→{{header|Ruby}}: Use prime standard library) |
|||
Line 1,976:
=={{header|Haskell}}==
No index mutations or loops. Recursion is used.
<lang haskell>import Data.List
import Control.Monad (guard)
isPrime :: Int -> Bool
Line 1,983 ⟶ 1,984:
| n `mod` 2 == 0 || n `mod` 3 == 0 = False
| otherwise = l2 5 n
where l2 d n = x > n || l3 d n
showPrime :: Int -> Int -> [(Int, Int)]
showPrime i n = if isPrime i
digitGroup :: Int -> String
digitGroup = intercalate "," . reverse . map show .
display :: (Int, Int) -> String
display (i, p) = show i ++ " " ++ digitGroup p
▲main = mapM_ (putStrLn . display) (take 42 (showPrime 42 1))</lang>
{{out}}
<pre>
|