Trouver le pgcd de 2 nombres

Soyez le premier à donner votre avis sur cette source.

Snippet vu 4 234 fois - Téléchargée 29 fois

Contenu du snippet

Voila ce code permet de trouver le pgcd de deux nombre.
faites moi signes si vous avez des commentaire ;)

Source / Exemple :

//INCLUDES
#include <iostream>
using namespace std;

//PROTOTYPES
int swap(int *a, int *b);


//MAIN
int main()
{
  
    int a;   
    int b; 
    int resultat;
    int temp2;
    bool vf=true;         

    cin>>a;
    cin>>b;    
    
   
    //Pour que a soit supérieur à b:
    if(a>b)
    {
        cout<<"a est superieur a b"<<endl;
    }
    
    else
    {
        cout<<"b est superieure a a"<<endl;
        swap(&a,&b);
    }
    
    while(vf)
    {
        resultat=a-b;
       
        
                
        if(resultat<=b)
        {
                a=b;
                b=resultat;
        }
        if(resultat>b)
        {
                a=resultat;
        }
        
        if(resultat==0)
        {
                vf=false;
                cout<<"le pgcd est :"<<temp2<<endl;
        }
        temp2=resultat;
    }
        
        
    
    
    
    
    
    
    int fin;
    cin>>fin;
    
return 0;
}            

//FONCTIONS

int swap(int *a, int *b)
{
    int temp;
    temp=*a;
    *a=*b;
    *b=temp;
}

A voir également

Ajouter un commentaire

Commentaire

didier1809
Messages postés
2
Date d'inscription
lundi 22 décembre 2003
Statut
Membre
Dernière intervention
22 décembre 2003
-
ca me parait bien compliqué ce code...

comme ça, ce ne serai pas plus simple ??
(il y à un test à la saisie pour que 'a' ou 'b' soient > à '0')

int fPgcd(int a,int b){
int r;
while(a%b){
r=a%b;
a=b;
b=r;
}
return b;
}

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.