Grundlagen der Programmierung (Pseudocode nachverfolgen)
Wie oft wird c einschließlich des ersten Aufrufs aufgerufen, wenn die folgende Funktion c als c(4, 2) aufgerufen wird?
○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
Antwort und Erläuterung anzeigen
Antwort: C. 11
c(n, k) berechnet die Zahl der Möglichkeiten, k aus n Elementen auszuwählen (den Binomialkoeffizienten), mit der Beziehung des pascalschen Dreiecks. c(4, 2) ruft c(3, 1) und c(3, 2) auf; diese rufen c(2, 0) und c(2, 1) bzw. c(2, 1) und c(2, 2) auf, und jeder der beiden Aufrufe c(2, 1) ruft c(1, 0) und c(1, 1) auf. 6 Aufrufe geben 1 zurück, und 5 Aufrufe lösen zwei weitere Aufrufe aus, insgesamt also 11. Der Rückgabewert ist 6 und entspricht der Zahl der Aufrufe, die 1 zurückgeben.
Weiter: 9 weitere Fragen zu Grundlagen der Programmierung (Pseudocode nachverfolgen)