RosettaCodeData/Task/Floyds-triangle/Haskell/floyds-triangle-4.hs
2019-09-12 10:33:56 -07:00

12 lines
257 B
Haskell

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)
floydN :: Int -> [[Int]]
floydN n = take n (iterate floyd [1])
main :: IO ()
main = mapM_ print $ floydN 5