def fact(n, k):
if n == 0:
k(1)
else:
fact(n-1, lambda x: k (n * x))
fact(10, lambda x: print(x))
def fib(n, k):
if n == 0:
return k(0)
elif n == 1:
return k(1)
else:
return fib(n-1, lambda x:
fib(n-2, lambda y:
k(x+y)))
print(fib(10, lambda x: x))
def ackermann(m, n, k):
if m == 0:
k(n+1)
elif n == 0:
ackermann(m-1, 1, k)
else:
ackermann(m, n-1, lambda x:
ackermann(m-1, x, k))
ackermann(3,2,lambda x: print(x))