Informatică, întrebare adresată de Halip99, 9 ani în urmă

Cerinţa
Se dă un şir cu n elemente, numere naturale. Folosind metoda Divide et Impera să se verifice dacă în şir există elemente impare.

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ă şirul conţine elemente impare, 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

NU

Răspunsuri la întrebare

Răspuns de Cactus
21
#include<iostream>
using namespace std;
int impar(int x[], int s, int d)
{  if(s==d)
       if(x[s]%2!=0)
             return 1;
       else
             return 0;
   else
  {  int m=(s+d)/2;
      return impar(x,s,m)+impar(x,m+1,d);
}
}
int main()
{ int x[100],n,i;
  cin>>n;
  for(i=0;i<n;i++)
   cin>>x[i];
  if(impar(x,0,n-1)>=1)
     cout<<"da";
else
   cout<<"nu";

return 0;

}

Alte întrebări interesante