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)
  1. A5
  2. B6
  3. 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.

Dit onderwerp oefenen Naar de onderwerppagina

Meer vragen over Basis van programmeren (pseudocode traceren)

  1. ⊕ is de bitsgewijze exclusieve OF. Welke waarden hebben x en y nadat het volgende programma is uitgevoerd?
  2. x en y zijn 8-bits gehele getallen zonder teken. << en >> zijn logische verschuivingen: vrijgekomen bits worden met 0 gevuld, en bits die buiten de 8 bits worden geschoven, vervallen. ∨ is de bitsgewijze OF. Wat is de waarde van y nadat het volgende programma is uitgevoerd?
  3. ∧ is de bitsgewijze EN. Wat is de waarde van c nadat het volgende programma is uitgevoerd?
  4. x en y zijn 8-bits gehele getallen zonder teken. << en >> zijn logische verschuivingen: vrijgekomen bits worden met 0 gevuld, en bits die buiten de 8 bits worden geschoven, vervallen. ∨ is de bitsgewijze OF. Wat is de waarde van y na de volgende toekenning, met x = 75?
  5. De volgende procedure bubble is een bubblesort die de integer-array data oplopend sorteert. swap(data, j, k) is een procedure die de waarden van data[j] en data[k] verwisselt. Array-indexen beginnen bij 1. Wat moet er op de plaats van 【a】 in het programma staan?