Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

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)

EDIT: Added a none recursive version.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: