2022-06-02 16:35:26 -05:00
|
|
|
# Ackermann function
|
|
|
|
def ackermann(m, n):
|
|
|
|
if m == 0:
|
|
|
|
return n + 1
|
|
|
|
elif m > 0 and n == 0:
|
|
|
|
return ackermann(m - 1, 1)
|
|
|
|
else:
|
|
|
|
return ackermann(m - 1, ackermann(m, n - 1))
|
|
|
|
|
|
|
|
# Sets much higher recursion limit
|
|
|
|
import sys
|
2022-06-02 16:41:09 -05:00
|
|
|
sys.setrecursionlimit(10000)
|
2022-06-02 16:35:26 -05:00
|
|
|
|
|
|
|
# Main part, input and print
|
|
|
|
num1 = int(input("Input m: "))
|
|
|
|
num2 = int(input("Input n: "))
|
|
|
|
print(ackermann(num1, num2))
|