20 lines
427 B
Haskell
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]
|
|
, ""
|
|
]
|