RosettaCodeData/Task/Left-factorials/Haskell/left-factorials.hs
2017-09-25 22:28:19 +02:00

20 lines
427 B
Haskell

fact :: [Integer]
fact = scanl (*) 1 [1 ..]
leftFact :: [Integer]
leftFact = scanl (+) 0 fact
main :: IO ()
main =
mapM_
putStrLn
[ "0 ~ 10:"
, show $ (leftFact !!) <$> [0 .. 10]
, ""
, "20 ~ 110 by tens:"
, unlines $ show . (leftFact !!) <$> [20,30 .. 110]
, ""
, "length of 1,000 ~ 10,000 by thousands:"
, show $ (length . show . (leftFact !!)) <$> [1000,2000 .. 10000]
, ""
]