SVXX

Ackermann Function

Apr 4th, 2014
426
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.50 KB | None | 0 0
  1. arr = numpy.zeros(shape=(6, 6))
  2. arr.flags.writeable = True
  3.  
  4. def wrapper(m, n):
  5.     memoized_ackermann(m, n)
  6.    
  7. def memoized_ackermann(m, n):
  8.     print (arr)
  9.     if arr[n, m] == 0:
  10.         if m == 0:
  11.             arr[m, n] = n + 1
  12.         elif n == 0:
  13.             memoized_ackermann(m - 1, 1)
  14.             arr[m, 0] = arr[m - 1, 1]
  15.         else:
  16.             memoized_ackermann(m, n-1)
  17.             memoized_ackermann(m-1, arr[m, n-1])
  18.             arr[m,n] = arr[m-1, arr[m, n-1]]
  19.  
  20. wrapper(4, 5)
Advertisement
Add Comment
Please, Sign In to add comment