s n h m r u
i

Ü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.

Beispiele:

    >>> is_even(0)
    True
    >>> is_even(11)
    False
    >>> is_even(42)
    True
    

Übung 2

Schreibe eine rekursive Funktion count_digit(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_digit(12345, 1)
    1
    >>> count_digit(112233, 1)
    2
    >>> count_digit(12345, 6)
    0
    >>> count_digit(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).

Beispiele:

    >>> mult42(0)
    0
    >>> mult42(1)
    42
    >>> mult42(5)
    210
Tipp

Eventuell kann dir die Funktion is_even aus Übung 1 helfen.

Suche

v
100.140.2.1.4 Übungen
Kopieren durch Anklicken

Rückmeldung geben