Summarize primes: Difference between revisions

m
→‎{{header|Haskell}}: Added a draft in Haskell
m (add n to output)
m (→‎{{header|Haskell}}: Added a draft in Haskell)
Line 69:
</pre>
 
 
=={{header|Haskell}}==
<lang haskell>import Control.Monad (join)
import Data.List (mapAccumL)
import Data.Numbers.Primes (isPrime, primes)
 
--------------- PRIME SUMS OF FIRST N PRIMES -------------
 
indexedPrimeSums :: [(Integer, Integer, Integer)]
indexedPrimeSums =
let ps = primes
in filter (\(_, _, n) -> isPrime n) $
zip3
[1 ..]
ps
( snd $
mapAccumL
(\n a -> join (,) (n + a))
0
ps
)
 
 
--------------------------- TEST -------------------------
main :: IO ()
main =
mapM_ print $
takeWhile (\(_, p, _) -> 1000 > p) indexedPrimeSums</lang>
{{Out}}
<pre>(1,2,2)
(2,3,5)
(4,7,17)
(6,13,41)
(12,37,197)
(14,43,281)
(60,281,7699)
(64,311,8893)
(96,503,22039)
(100,541,24133)
(102,557,25237)
(108,593,28697)
(114,619,32353)
(122,673,37561)
(124,683,38921)
(130,733,43201)
(132,743,44683)
(146,839,55837)
(152,881,61027)
(158,929,66463)
(162,953,70241)</pre>
 
=={{header|Julia}}==
9,659

edits