Because I wanted distracting for 5 min, in python:
def pascal(row, prev_row=None):
if row == 1:
return [1]
else:
if not prev_row:
prev_row = pascal(row-1)
new_row = []
for i in xrange(row):
if (i == 0) or (i == row-1):
new_row.append(1)
else:
new_row.append(prev_row[i-1]+prev_row[i])
return new_row
def none_recursive_pascal(row):
current_row = None
for i in xrange(1,row+1):
current_row = pascal(i, current_row)
return current_row
for i in xrange(1,10):
print pascal(i)
for i in xrange(1,10):
print none_recursive_pascal(i)