Scrieți un program care determină suma elementelor impare dintr-un tablou unidimensional prin metoda divide et impera.
Am încercat să scriu ceva, dar nu-mi dă nimic bine.
V-aș fi extrem de recunoscătoare dacă m-ați ajuta...
Răspunsuri la întrebare
Răspuns de
0
#include <iostream>
int *v;
int diem(const size_t lhs, const size_t rhs) {
size_t mid = (lhs + rhs) >> 1, rez = v[mid] * (v[mid] & 1);
if (lhs != mid)
rez += diem(lhs, mid);
if (mid + 1 < rhs)
rez += diem(mid + 1, rhs);
return rez;
}
int main() {
size_t n;
std::cin >> n;
v = new int[n];
for (size_t i = 0; i < n; ++i)
std::cin >> v[i];
std::cout << diem(0, n);
}
Alte întrebări interesante
Matematică,
8 ani în urmă
Matematică,
8 ani în urmă
Matematică,
8 ani în urmă
Matematică,
8 ani în urmă
Engleza,
8 ani în urmă
Limba română,
9 ani în urmă
Matematică,
9 ani în urmă