מידע

יוצרים Sam Pieters
מועד הגשה אין מועד הגשה
מגבלת הגשות אין הגבלה

כניסה

Recursie


שאלה 1: Faculteit!

Schrijf een recursieve functie faculteit die n! uitrekent.

שאלה 2: Combinatie

Schrijf een recursieve functie combinatie(n,k) die recursief (en zonder gebruik te maken van faculteiten) werkt. Bij combinaties is de volgorde van de elementen niet van belang. Denk eraan dat C(n, k) = C(n−1, k−1) + C(n−1, k) en dat C(n, 0) = C(n, n) = 1.

שאלה 3: Recursieve som

Schrijf een functie som(n) die recursief de som van 1 t.e.m. n berekent.

שאלה 4: De rest

Schrijf een functie rest(x, a) die de rest berekent bij de deling van x door a met x en a natuurlijke getallen en a verschillend van 0. Doe dit recursief zonder gebruik te maken van de operatoren %, / of // en zonder de conversie naar integer. Denk eraan dat rest(x,a) = rest(x-a,a).

שאלה 5: Aantal cijfers

Schrijf een recursieve functie aantal_cijfers die een integer krijgt (positief of negatief) en het aantal cijfers teruggeeft.

שאלה 6: Het minimum

Schrijf een recursieve functie minimum die het kleinste getal in een geneste lijst teruggeeft. Je mag er vanuit gaan dat er geen lege lijsten of sublijsten voorkomen. Je kan nakijken of een variabele een list is door isinstance() te gebruiken als volgt:

>>> isinstance([],list)
True
>>> isinstance(5,list)
False

De output ziet er dan zo uit:

>>> minimum([2, 9, [1, 13], 8, 6])
1
>>> minimum([2, [[100, 1], 90], [10, 13], 8, 6])
1
>>> minimum([2, [[13, -7], 90], [1, 100], 8, 6])
-7
>>> minimum([[[-13, 7], 90], 2, [1, 100], 8, 6])
-13
שאלה 7: Tellen

Schrijf een recursieve functie tel(x,l) die teruggeeft hoeveel keer x in de geneste lijst l voorkomt.

שאלה 8: Geneste lijst naar 1 lijst

Schrijf een functie flatten die een geneste lijst omzet naar een gewone lijst met dezelfde items in dezelfde volgorde. Merk op dat je lijsten kan samenvoegen met de + operator.