Sa se numere elementele pare dintr-un vector cu ajutorul metodei divide et impera. Help!!!
Răspunsuri la întrebare
Răspuns de
5
int pare ( int st, int dr, int a[], int n)
{
int p1, p2, mij=(st+dr)/2;
if(st==dr)
if(a[st]%2==0)
return 1;
else return 0;
else
{
p1=pare(st, mij, a, n);
p2=pare(mij+1, dr, a, n);
return p1+p2;
}
}
{
int p1, p2, mij=(st+dr)/2;
if(st==dr)
if(a[st]%2==0)
return 1;
else return 0;
else
{
p1=pare(st, mij, a, n);
p2=pare(mij+1, dr, a, n);
return p1+p2;
}
}
theocraciun:
Defapt n nici nu mai trebuie sa il declari. Numai acum m-am gandit :)) .
Răspuns de
1
#include <iostream>
using namespace std;
int dq(int st, int dr, const int v[])
{
if(st == dr) return v[st] % 2 ? 0 : 1;
else
return dq(st, (st + dr) / 2, v) + dq((st + dr) / 2 + 1, dr, v);
}
int main()
{
int n, v[1000];
cin >> n;
for(int i = 1; i <= n; i++) cin >> v[i];
cout << dq(1, n, v);
return 0;
}
using namespace std;
int dq(int st, int dr, const int v[])
{
if(st == dr) return v[st] % 2 ? 0 : 1;
else
return dq(st, (st + dr) / 2, v) + dq((st + dr) / 2 + 1, dr, v);
}
int main()
{
int n, v[1000];
cin >> n;
for(int i = 1; i <= n; i++) cin >> v[i];
cout << dq(1, n, v);
return 0;
}
Alte întrebări interesante
Franceza,
8 ani în urmă
Limba română,
8 ani în urmă
Chimie,
8 ani în urmă
Matematică,
9 ani în urmă
Engleza,
9 ani în urmă
Matematică,
9 ani în urmă
Matematică,
9 ani în urmă