A
UBB · Informatică
192

Luca vrea să determine toate submulțimile mulțimii M = {4, 5, 17, 24, 11, 16} cu 6 elemente, unde suma elementelor din submulțime nu depășește un prag minim și un prag maxim. Mulțimea este reprezentată cu ajutorul vectorului M cu n elemente numere naturale. Submulțimile generate se afișează cu ajutorul funcției afișare, unde v este un vector auxiliar indexat de la 0, iar l reprezintă lungimea vectorului curent v. Înainte de apelarea funcției algo(1, 6, v, M, 0, 20, 40) elementul v[0] a fost inițializat cu 0.

Algoritm 1

Algorithm algo(i, n, v, M, suma, s_min, s_max)
  For j ← v[i − 1] + 1, n execute
    v[i] ← j
    suma ← suma + M[j]
    If s_min ≤ suma ≤ s_max then
      afișare(i, v, M)
    EndIf
    If suma < s_max then
      algo(i + 1, n, v, M, suma, s_min, s_max)
    EndIf
    suma ← suma − M[j]
  EndFor
EndAlgorithm

Algoritm 2

Algorithm afișare(d, v, M)
  Write "{", M[v[1]]
  For i ← 2, d execute
    Write ", ", M[v[i]]
  EndFor
  Write "}", newline
EndAlgorithm

Luca știe că primele 4 submulțimi afișate sunt, în această ordine: {4, 5, 17}, {4, 5, 17, 11}, {4, 5, 24}, {4, 5, 11}, dar vrea să știe care este a 8-a submulțime generată. Care dintre cele de mai jos reprezintă răspunsul corect?

5 / 30