Afişează mesaje
Pagini: [1]
1  infoarena - concursuri, probleme, evaluator, articole / Informatica / Cmmdc interativ si recursiv. : Martie 19, 2013, 01:12:48
Cmmdc interativ si recursiv.
In DevC++ nu are nicio eroare si merge perfect, compilatorul de pe site gaseste erori  Smile


Cod :
#include<iostream.h>
#include<conio.h>
#include<stdio.h>

using namespace std;

//Varianta iterativa:
//Sa presupunem ca avem 2 Numere naturale a si b (nenule), si o variabila c (c natural). Iata pasii algoritmului:
//-Se imparte a la b, iar restul impartiri este retinut in c (c=a%b)
//-a ia valoarea lui b (a=b)
//-b ia valoarea restului impartirii (b=c)
//-daca b este diferit de 0 se revine la pasul 1, daca b este 0, cmmdc este a
int euclid(int a,int b)
   {
               int c;
               while(b) // cat timp b diferit de 0
                    {
                        c=a%b; // c = valoarea impartiri lui a la b
                        a=b;
                        b=c;  // b = restul impartiri lui a la b
                    } //end while
               return a;
   } // end euclid    
  
//Varianta recursiva:

  int euclidrec(int a,int b)
     {  
      if (b==0)
          
           b = a;      
      else
            euclidrec(b,a%b);
          
            
        } //end euclidrec


int main()
   {
          int a,b;
          cout<<"Dati a si b:";
          cin>>a>>b;
          cout<<"Varianta iterativa!"<<endl;
          cout<<"Cel mai mare divizor dintre "<<a<<" si "<<b<<" este : "<<euclid(a,b)<<endl;
          cout<<endl;
          cout<<"Varianta recursiva!"<<endl;
          cout<<"Cel mai mare divizor dintre "<<a<<" si "<<b<<" este : "<<euclidrec(a,b)<<endl;
          getch();
   }    
                        
Pagini: [1]
Powered by SMF 1.1.19 | SMF © 2006-2013, Simple Machines