Cod in c++ (30 puncte)
Folosind metoda divide et impera, scrieți o funcție parimpar care să determine numărul de elemente pare și cele impare mai mici decât un număr k introdus de la tastatură.
Răspunsuri la întrebare
Răspuns de
1
COROANA TE ROG!!!
#include<iostream>
using namespace std;
int k,par,impar,i=0;
void parimpar(){
while(i<k){
if(i%2==0)
par++;
else
impar++;
i++;
parimpar();
}
}
int main(){
cin>>k;
parimpar();
cout<<par<<' '<<impar;
return 0;
}
andrei750238:
Pai nu prea avem divide et impera...
Problema ar fi ca acest algoritm nu prea e divide et impera. Este recursivitate, dar nu indeplineste definitia pentru Divide Et Impera.
"Divide et impera se bazează pe principiul descompunerii problemei în două sau mai multe subprobleme (mai ușoare), care se rezolvă, iar soluția pentru problema inițială se obține combinând soluțiile subproblemelor."
Tu nu ai impartit problema in mai multe mai mici, doar ai apelat recursiv functia.
Alte întrebări interesante
Franceza,
8 ani în urmă
Matematică,
8 ani în urmă
Matematică,
8 ani în urmă
Matematică,
8 ani în urmă
Limba română,
9 ani în urmă