Informatică, întrebare adresată de Cosmin14f, 8 ani în urmă

#1150 VerifPareDivImp (pbinfo)
Cerinţa
Se dă un şir cu n elemente, numere naturale. Folosind metoda Divide et Impera să se verifice dacă toate elementele şirului sunt pare.

Date de intrare
Programul citește de la tastatură numărul n, iar apoi cele n elemente ale şirului, separate prin spaţii.

Date de ieşire
Programul afișează pe ecran mesajul DA, dacă toate elementele şirului sunt pare, respectiv NU în caz contrar.

Restricţii şi precizări
1 ≤ n ≤ 100
elementele şirului vor fi mai mici decât 10000
Exemplu
Date de intrare

5
2 8 6 10 8
Date de ieșire

DA

Răspunsuri la întrebare

Răspuns de boiustef
5

#include <iostream>

using namespace std;

int n, v[101], i;

int nrPare(int v[], int st, int dr)

{

   if (st==dr)

       if (v[st]%2==0) return 1;

       else return 0;

   else

   {

       int m=(st+dr)/2;

       int S1=nrPare(v,st,m);

       int S2=nrPare(v,m+1,dr);

       return S1+S2;

   }

}

int main()

{

   cin >> n;

   for (i=1; i<=n; ++i)

       cin >> v[i];

   if (nrPare(v,1,n)==n) cout << "DA";

   else cout << "NU" ;

}

Alte întrebări interesante