232 Raspunsuri multiple
Se consideră algoritmul F(arr, used, perm, n, idx), unde arr este un vector cu n elemente, used este un vector utilizat pentru marcarea elementelor folosite, iar perm este un vector pentru permutarea curentă. Funcția Ok verifică dacă suma elementelor de pe pozițiile pare dintr-o permutare este mai mare decât suma celor de pe pozițiile impare.
Algoritm 1
Algorithm F(arr, used, perm, n, idx)
If idx > n then
If Ok(perm, n) then
For i ← 1, n execute
Write perm[i], " "
EndFor
Write newline
EndIf
Return
EndIf
For i ← 1, n execute
If not used[i] then
used[i] ← 1
perm[idx] ← arr[i]
F(arr, used, perm, n, idx + 1)
used[i] ← 0
EndIf
EndFor
EndAlgorithmAlgoritm 2
Algorithm Ok(perm, n)
evenSum ← 0, oddSum ← 0
For i ← 1, n execute
If i MOD 2 = 1 then
oddSum ← oddSum + perm[i]
Else
evenSum ← evenSum + perm[i]
EndIf
EndFor
Return evenSum > oddSum
EndAlgorithmCare dintre următoarele afirmații sunt adevărate pentru algoritmul prezentat?
15 / 22