3 added 284 characters in body
source | link

Haskell, 94 92

f=[1]:[zipWith(+)(0:x)x++[1]|x<-f]
main=readLn>>=mapM_(putStrLn.unwords.map show).(`take`f)

Output:

1
1 1
1 2 1
1 3 3 1
1 4 6 4 1

A 71 character version which does not print a space between each number:

f=[1]:[zipWith(+)(0:x)x++[1]|x<-f]
main=readLn>>=mapM_ print.(`take`f)

Output:

[1]
[1,1]
[1,2,1]
[1,3,3,1]

Haskell, 94 92

f=[1]:[zipWith(+)(0:x)x++[1]|x<-f]
main=readLn>>=mapM_(putStrLn.unwords.map show).(`take`f)

Haskell, 94 92

f=[1]:[zipWith(+)(0:x)x++[1]|x<-f]
main=readLn>>=mapM_(putStrLn.unwords.map show).(`take`f)

Output:

1
1 1
1 2 1
1 3 3 1
1 4 6 4 1

A 71 character version which does not print a space between each number:

f=[1]:[zipWith(+)(0:x)x++[1]|x<-f]
main=readLn>>=mapM_ print.(`take`f)

Output:

[1]
[1,1]
[1,2,1]
[1,3,3,1]
2 added 10 characters in body
source | link

Haskell, 9494 92

f x=zipWithf=[1]:[zipWith(+)(0:x)x++[1]x++[1]|x<-f]
main=readLn>>=mapM_(putStrLn.unwords.map show).(`take`iterate f[1]`take`f)

Haskell, 94

f x=zipWith(+)(0:x)x++[1]
main=readLn>>=mapM_(putStrLn.unwords.map show).(`take`iterate f[1])

Haskell, 94 92

f=[1]:[zipWith(+)(0:x)x++[1]|x<-f]
main=readLn>>=mapM_(putStrLn.unwords.map show).(`take`f)
1
source | link

Haskell, 94

f x=zipWith(+)(0:x)x++[1]
main=readLn>>=mapM_(putStrLn.unwords.map show).(`take`iterate f[1])