fork download
  1. import Data.Ratio
  2.  
  3. primes = map head $ iterate (\x -> [ n| n<-x, mod n ( head x ) /= 0]) [2..]
  4.  
  5. np n = dropWhile ( <= n ) $ takeWhile ( <= n + 6 ) primes
  6.  
  7. e n = (1%6) * ( sum [ e p | p <- np n ] ) + 1
  8.  
  9. main = do
  10. print $ take 24 [ ( p, e p ) | p <- primes ]
  11. print $ e 0
Success #stdin #stdout 0.01s 5508KB
stdin
Standard input is empty
stdout
[(2,1378501472735391739 % 789730223053602816),(3,196928781819341677 % 131621703842267136),(5,32746550536190287 % 21936950640377856),(7,5426754573480709 % 3656158440062976),(11,897140887055287 % 609359740010496),(13,145575874393741 % 101559956668416),(17,23700878775175 % 16926659444736),(19,3385839825025 % 2821109907456),(23,564729917569 % 470184984576),(29,94544932993 % 78364164096),(31,16180768897 % 13060694016),(37,3120074881 % 2176782336),(41,507926755 % 362797056),(43,72560965 % 60466176),(47,12094789 % 10077696),(53,2017093 % 1679616),(59,337477 % 279936),(61,57541 % 46656),(67,10885 % 7776),(71,1555 % 1296),(73,259 % 216),(79,43 % 36),(83,7 % 6),(89,1 % 1)]
8477331321275909029 % 4738381338321616896