Thông tin

Tác giả Sam Pieters
Hạn chót Không có hạn chót
Giới hạn nộp bài Không có giới hạn

Đăng nhập

Recursie


Câu hỏi 1: Faculteit!

Schrijf een recursieve functie faculteit die n! uitrekent.

Câu hỏi 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.

Câu hỏi 3: Recursieve som

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

Câu hỏi 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).

Câu hỏi 5: Aantal cijfers

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

Câu hỏi 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
Câu hỏi 7: Tellen

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

Câu hỏi 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.