Basis van programmeren (pseudocode traceren)
Hoe vaak wordt c aangeroepen, de eerste aanroep meegerekend, als de volgende functie c wordt aangeroepen als c(4, 2)?
○integer: c(integer: n, integer: k)
if (k = 0 or k = n)
return 1
endif
return c(n − 1, k − 1) + c(n − 1, k)
- A5
- B6
- C11
Antwoord en toelichting tonen
Antwoord: C. 11
c(n, k) berekent het aantal manieren om k elementen uit n te kiezen (de binomiaalcoëfficiënt) met de betrekking uit de driehoek van Pascal. c(4, 2) roept c(3, 1) en c(3, 2) aan; die roepen c(2, 0) en c(2, 1) aan, en c(2, 1) en c(2, 2); elk van de twee aanroepen van c(2, 1) roept c(1, 0) en c(1, 1) aan. Er zijn 6 aanroepen die 1 teruggeven en 5 aanroepen die twee verdere aanroepen doen, samen 11. De retourwaarde is 6, gelijk aan het aantal aanroepen dat 1 teruggeeft.
Verder: nog 9 vragen over Basis van programmeren (pseudocode traceren)