fork(1) download
  1. import Data.List
  2. import Control.Monad
  3.  
  4. yoba n = foldM (\r x -> putStrLn (
  5. if odd r then "" else " " ++ replicate (r `div` 2) '\t' ++ intercalate "\t" (map show x)
  6. ) >> return (r - 1)) n
  7. $ take n $ iterate (\row -> zipWith (+) ([0] ++ row) (row ++ [0])) [1]
  8.  
  9. main = yoba 15
Success #stdin #stdout 0s 6228KB
stdin
Standard input is empty
stdout
  							1	1

  						1	3	3	1

  					1	5	10	10	5	1

  				1	7	21	35	35	21	7	1

  			1	9	36	84	126	126	84	36	9	1

  		1	11	55	165	330	462	462	330	165	55	11	1

  	1	13	78	286	715	1287	1716	1716	1287	715	286	78	13	1