Umsetzung der Funktionen in Python:
def S(n): return n + 1 # ADD def add_n(m, n): for i in range(m): n = S(n) return n def add_n_alternative(m, n): if m == 0: return n else: #print("n: ", n) #print("m: ", m - 1) return S(add_n_alternative(m - 1, n)) # MULT def mult_n(m, n): x = 0 for i in range(m): x = add_n_alternative(x, n) return x def mult_n_alternative(m, n): if m == 0: return 0 else: return add_n_alternative(mult_n_alternative(m - 1, n), n) # POT def pot_n(m, n): x = 1 for i in range(m): x = mult_n_alternative(x, n) return x def pot_n_alternative(m, n): if m == 0: return 1 else: return mult_n_alternative(pot_n_alternative(m - 1, n), n) n = S(n) return n def add_n_alternative(m, n): if m == 0: return n else: #print("n: ", n) #print("m: ", m - 1) return S(add_n_alternative(m - 1, n)) # MULT def mult_n(m, n): x = 0 for i in range(m): x = add_n_alternative(x, n) return x def mult_n_alternative(m, n): if m == 0: return 0 else: return add_n_alternative(mult_n_alternative(m - 1, n), n) # POT def pot_n(m, n): x = 1 for i in range(m): x = mult_n_alternative(x, n) return x def pot_n_alternative(m, n): if m == 0: return 1 else: return mult_n_alternative(pot_n_alternative(m - 1, n), n)
print(add_n(3, 5)) print(add_n_alternative(3, 5)) print(mult_n(2, 5)) print(mult_n_alternative(2, 5)) print(pot_n(2, 3)) print(pot_n_alternative(2, 3))
ausführen