Übungen
Übung 1
Schreibe eine rekursive Funktion is_even(n), die, gegeben eine natürliche Zahl n überprüft, ob die Zahl gerade ist (even ist englisch für gerade). Für die Lösung darfst du weder den Modulo-Operator (%), noch den Divisions-Operator (//) benutzen.
>>> is_even(0)
True
>>> is_even(11)
False
>>> is_even(42)
True
Übung 2
count(n, d), die, gegeben eine natürliche Zahl n und eine Ziffer d, zählt, wie oft die Ziffer d in der Zahl n vorkommt.
Beispiele:
>>> count(12345, 1)
1
>>> count(112233, 1)
2
>>> count(12345, 6)
0
>>> count(12121, 1)
3
Tipp
Überlege dir, wie du an die letzte Ziffer einer Zahl kommst und wie du die Zahl um eine Ziffer verkürzen kannst.
Übung 3: Achtung schwer!
Schreibe eine rekursive Funktion mult42(n), die, gegeben eine natürliche Zahl n, das Produkt der Zahl mit 42 berechnet, allerdings ohne dabei den Multiplikations-Operator (*) zu benutzen. Zusätzliche Einschränkung: du darfst lediglich einen rekursiven Aufruf verwenden und musst das Argument dabei halbieren. Der rekursive Aufruf muss also lauten: mult42(n // 2).
>>> mult42(0)
0
>>> mult42(1)
42
>>> mult42(5)
210
Tipp
Eventuell kann dir die Funktion is_even aus Übung 1 helfen.