Se consideră un șir cu n elemente, numere naturale. Folosind metoda Divide et Impera, determinați suma elementelor acestui șir.
Programul citește de la tastatură numărul n, iar apoi cele n elemente ale șirului.
Programul va afișa pe ecran numărul S, reprezentând suma cerută.
Răspunsuri la întrebare
Răspuns de
1
Salut. Uite aici rezolvarea problemei. Succes in continuare!
#include <iostream>
using namespace std;
int divetimp(int v[], int li, int ls)
{
int s1, s2;
if (li == ls)
return v[li];
if (li > ls)
{
return -1;
}
else
{
int m = (li + ls) / 2;
s1 = divetimp(v , li , m);
s2 = divetimp(v , m + 1, ls);
return s1 + s2;
}
}
int main()
{
int n;
cin >> n;
int *a = new int[n];
for (int i = 0; i < n; i++)
cin >> a[i];
cout<<divetimp(a, 0, n - 1);
}
#include <iostream>
using namespace std;
int divetimp(int v[], int li, int ls)
{
int s1, s2;
if (li == ls)
return v[li];
if (li > ls)
{
return -1;
}
else
{
int m = (li + ls) / 2;
s1 = divetimp(v , li , m);
s2 = divetimp(v , m + 1, ls);
return s1 + s2;
}
}
int main()
{
int n;
cin >> n;
int *a = new int[n];
for (int i = 0; i < n; i++)
cin >> a[i];
cout<<divetimp(a, 0, n - 1);
}
Alte întrebări interesante
Limba română,
8 ani în urmă
Matematică,
8 ani în urmă
Biologie,
9 ani în urmă
Matematică,
9 ani în urmă
Limba română,
9 ani în urmă