Cerința
Folosind metoda Divide et Impera, scrieți funcția recursivă cu antetul
int AlternDivImp(int a[], int st, int dr)
care primind ca parametri un vector a
de numere naturale și două numere întregi st
și dr
, returnează 1
dacă în secvența a[st], a[st+1], ..., a[dr]
numerele impare alternează cu cele pare, sau returnează 0
dacă există cel puțin două numere alăturate de aceeași paritate.
Restricții și precizări
st ≤ dr
- Numele funcției este
AlternDivImp
. - Vectorul
a
este indexat de la1
- Se recomandă utilizarea metodei Divide et Impera în rezolvarea problemei.
Exemplu:
Dacă a = (1,2,3,4,5,6,7,8,9,11)
, atunci AlternDivImp(a, 1, 10) = 0
, deoarece numerele 9
și 11
aflate pe poziții alăturate au aceeași paritate. De asemenea, AlternDivImp(a, 1, 8) = 1
.
Important
Soluția propusă va conține doar funcția cerută. Introducerea în soluție a altor instrucțiuni poate duce la erori de compilare sau de execuție, care vor duce la depunctarea soluției.