RosettaCodeData/Task/Floyds-triangle/Haskell/floyds-triangle-3.hs
2023-07-01 13:44:08 -04:00

22 lines
430 B
Haskell

----------------- LINES OF FLOYDS TRIANGLE ---------------
floyds :: [[Int]]
floyds = iterate floyd [1]
floyd :: [Int] -> [Int]
floyd xs
| n < 2 = [1]
| otherwise =
[ succ (div (n * pred n) 2)
.. div (n * succ n) 2
]
where
n = succ (length xs)
--------------------------- TEST -------------------------
main :: IO ()
main = do
mapM_ print $ take 5 floyds
putStrLn ""
mapM_ print $ take 14 floyds