Cerinţa
Se dă un şir cu n elemente, numere naturale. Folosind metoda Divide et Impera să se verifice dacă toate elementele şirului au număr par de cifre.
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 au număr par de cifre, respectiv NU în caz contrar.
Restricţii şi precizări
1 ≤ n ≤ 100
elementele şirului sunt numere naturale nenule cu cel mul 9 cifre
Răspunsuri la întrebare
Răspuns de
1
Răspuns:
#include <iostream>
using namespace std;
int nr_cif(int n)
{
int nr=0;
while(n)
{ nr++;
n=n/10;
}
return nr;
}
int toate_egale_divImp(int v[], int i, int s) {
if (i == s) {
if (nr_cif(v[i])%2==0) return 1;
return 0;
}
int d1 = toate_egale_divImp(v, i, (i + s) / 2);
int d2 = toate_egale_divImp(v, (i + s) / 2 + 1, s);
return d1 + d2;
}
int main()
{
int n, v[501],i;
cin>>n;
for(i=1;i<=n;i++)cin>>v[i];
if(toate_egale_divImp(v,1,n)==n)
cout<<"DA";
else
cout<<"NU";
return 0;
}
Explicație:
pbinfo 100 p, problema 1153
Alte întrebări interesante
Istorie,
8 ani în urmă
Arte,
8 ani în urmă
Matematică,
8 ani în urmă
Matematică,
8 ani în urmă
Matematică,
9 ani în urmă