10 lines
253 B
Ruby
10 lines
253 B
Ruby
def pascal(n)
|
|
raise ArgumentError, "must be positive." if n < 1
|
|
yield ar = [1]
|
|
(n-1).times do
|
|
ar.unshift(0).push(0) # tack a zero on both ends
|
|
yield ar = ar.each_cons(2).map(&:sum)
|
|
end
|
|
end
|
|
|
|
pascal(8){|row| puts row.join(" ").center(20)}
|