228 Raspunsuri multiple
Se consideră algoritmul generate(arr, c, n, k, idx, st, prod), unde arr este un vector ce conține n elemente naturale, c este un vector utilizat pentru generarea combinărilor, prod reprezintă produsul elementelor curente din combinare, iar k și idx sunt două variabile de tip întreg, cel mult .
Algoritm 1
Algorithm G(num)
low ← 0, high ← num
result ← 0
While low ≤ high execute
mid ← (low + high) / 2
If mid * mid = num then
Return mid
Else If mid * mid < num then
low ← mid + 1
result ← mid
Else
high ← mid - 1
EndIf
EndWhile
Return result
EndAlgorithmAlgoritm 2
Algorithm generate(arr, c, n, k, idx, st, prod)
If idx = k then
r ← G(prod)
If r * r = prod then
For i ← 0, k − 1 execute
Write c[i], " "
EndFor
Write newline
EndIf
Return
EndIf
For i ← st, n − 1 execute
c[idx] ← arr[i]
generate(arr, c, n, k, idx + 1, i + 1, prod * arr[i])
EndFor
EndAlgorithmCare dintre următoarele afirmații sunt adevărate pentru algoritmul prezentat?
11 / 22