Cerința
Se consideră un șir cu n elemente, numere naturale. Folosind metoda Divide et Impera, determinați suma elementelor pare din acest șir.
Date de intrare
Programul citește de la tastatură numărul n, iar apoi cele n elemente ale șirului.
Date de ieșire
Programul va afișa pe ecran numărul S, reprezentând suma cerută.
Restricții și precizări
1 ≤ n ≤ 1000
elementele șirului vor fi mai mici decât 1.000.000
se recomandă folosirea metodei Divide et Impera
Răspunsuri la întrebare
Răspuns de
1
Răspuns:
#include <iostream>
using namespace std;
int suma_pare_divImp(int v[], int i, int s) {
if (i == s) {
if (v[s] % 2 == 0) return v[s];
return 0;
}
int d1 = suma_pare_divImp(v, i, (i + s) / 2);
int d2 = suma_pare_divImp(v, (i + s) / 2 + 1, s);
return d1 + d2;
}
int main()
{
int n, v[1001], i;
cin>>n;
for(i=1;i<=n;i++)cin>>v[i];
cout<<suma_pare_divImp(v,1,n);
return 0;
}
Explicație: tot 100 p pe pbinfo.ro
Oana0605:
multumesc! imi urmaresti postarile de raspunzi asa repede?:))
Alte întrebări interesante
Matematică,
8 ani în urmă
Limba română,
8 ani în urmă
Matematică,
8 ani în urmă
Matematică,
8 ani în urmă
Matematică,
8 ani în urmă
Istorie,
9 ani în urmă
Franceza,
9 ani în urmă