ExistaImpareDivImp

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

SOLUTIE

using namespace std;
int imp(int v[],int st,int dr)
{
if(st>=dr)
return v[st];
else
{
int m=(st+dr)/2;
int a=imp(v,st,m);
int b=imp(v,m+1,dr);
if(a%2==1)
return a;
else if(b%2==1)
return b;
}
}
int main()
{
int v[105],n,st=0,dr;
cin>>n;
dr=n-1;
for(int i=0;i>v[i];
}
if(imp(v,st,dr)%2==0)
cout<<“NU”;
else cout<<“DA”;
return 0;
}

%d bloggers like this: