def incorrect_ackermann(m, n): if m == 0: return m + 1 elif m > 0 and n == 0: return incorrect_ackermann(m - 1, 1) else: return incorrect_ackermann(m - 1, incorrect_ackermann(m - 1, n - 1)) # if m == 0 -> n+1 # if m > 0 and n == 0 -> A(m-1, 1) # otherwise -> A(m-1, A(m, n - 1)