1. Implementieren Sie die beiden rekursiven Funktionen f(n) und a(k, n) in Unterprogrammen.
f(n) = n-10 für n > 100 sonst f(f(n+11))
a(k, n) = 2 für n = 1, 2n für k = 1, a(k-1, a(k, n-1)) für n, k > 1
2. Zeigen Sie, dass für i ≤ 101 die Eigenschaft f(i) = 91 gilt, indem Sie ein Unterprogramm
f_test(n) schreiben, das mit Hilfe Ihrer Methode aus Aufgabenteil 1 alle f(i) für i ≤ n
berechnet und in einer Liste zurück gibt. Geben Sie die Liste für n = 101 auf der Konsole
aus.
3. Zeigen Sie, dass a(2, n) = 2n und a(3, n) = 222 ... (n-mal). Lösen Sie diese Aufgabe entweder durch Argumentation oder durch Berechnung von Zahlenwerten.
Comment prefix | # |
---|---|
Given input | 31 101 120 135 |
Expected output | 91 91 110 125 [91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91] 2147483648 2535301200456458802993406410752 1329227995784915872903807060280344576 43556142965880123323311949751266331066368 |