- ////////////////////////////////////////////////////////////////////////////
- /////////// Fais avec Dev c++ 4 par Gulius //////////////////
- ////////// Il existe bcp d'autres solutions et surement /////////
- /////// des plus faciles mais bon je suis débutant donc j'essaye.////
- ///////////////////////////////////////////////////////////////////////////
-
-
- #include <iostream> // pour utiliser les entrées et sorties cout et cin
- using namespace std;
-
- int main() //Début de la fonction principale
- {
- int a, b, pg, pp, res; //Définition des variables
- cout << "Ce Programme calcule" //Message d'explication
- << " le PGCD de deux nombres . \n"
- << "Entrez deux nombres a et b :\n "
- <<"Entrez a : " << endl;
- cin >> a; // Entrée du 1er nombre
- cout << "Entrez b : " << endl;
- cin >> b; //Entrée du seconde nombre
- cout << " " << endl;
-
- if (a<b) pp=a, pg=b; // On regarde quel est le plus gd
- else if (b<a) pp=b, pg=a; //nombre des 2 et on les places ds
- else //deux variable pp et pg
- { pg=a, pp=b; //(pp= plus petit et pg= plus grand
-
- cout << "\nCes deux nombres sont egaux donc " // Si les 2 nbres
- << "leurs PGCD est ce meme nombre ." << endl; // sont déjà egaux,
- } // on indique que leur PGCD est ce même nombre
-
-
- while(true) // boncle infinie (j'aurais pu faire avec un for
- // ou un while "fini" )
- { res = pg-pp; // On calcule (plus grand nbr) - (le plus petit)
-
- if (pp!=pg) // si pp est différent de pg, on indique
- { // le résultat du clacul
- cout << pg << "-" << pp << "= " << res << endl;
- if(res>pp) pg=res; // on change les variables celon
- else if(res<pp) pg=pp, pp=res; //le plus grand nombre
- else pp=res, pg=pp; // de res et de pp.
- } //Puis on les replace ds pg et pp et on recommence
- else
- {
- cout << pg << "-" << pp << "= 0"<< endl;
- break; //On casse la boucle si pp==pg
- }
-
- }
-
- /*On indique le résultat*/
- cout << "Le PGCD de " << a << " et " << b << " est " << pp << " " << endl;
- if(res==1) cout << "Ces deux nombres sont donc premiers. " << endl;
-
- system("pause");
- return 0;
- }
-
-
-
-
////////////////////////////////////////////////////////////////////////////
/////////// Fais avec Dev c++ 4 par Gulius //////////////////
////////// Il existe bcp d'autres solutions et surement /////////
/////// des plus faciles mais bon je suis débutant donc j'essaye.////
///////////////////////////////////////////////////////////////////////////
#include <iostream> // pour utiliser les entrées et sorties cout et cin
using namespace std;
int main() //Début de la fonction principale
{
int a, b, pg, pp, res; //Définition des variables
cout << "Ce Programme calcule" //Message d'explication
<< " le PGCD de deux nombres . \n"
<< "Entrez deux nombres a et b :\n "
<<"Entrez a : " << endl;
cin >> a; // Entrée du 1er nombre
cout << "Entrez b : " << endl;
cin >> b; //Entrée du seconde nombre
cout << " " << endl;
if (a<b) pp=a, pg=b; // On regarde quel est le plus gd
else if (b<a) pp=b, pg=a; //nombre des 2 et on les places ds
else //deux variable pp et pg
{ pg=a, pp=b; //(pp= plus petit et pg= plus grand
cout << "\nCes deux nombres sont egaux donc " // Si les 2 nbres
<< "leurs PGCD est ce meme nombre ." << endl; // sont déjà egaux,
} // on indique que leur PGCD est ce même nombre
while(true) // boncle infinie (j'aurais pu faire avec un for
// ou un while "fini" )
{ res = pg-pp; // On calcule (plus grand nbr) - (le plus petit)
if (pp!=pg) // si pp est différent de pg, on indique
{ // le résultat du clacul
cout << pg << "-" << pp << "= " << res << endl;
if(res>pp) pg=res; // on change les variables celon
else if(res<pp) pg=pp, pp=res; //le plus grand nombre
else pp=res, pg=pp; // de res et de pp.
} //Puis on les replace ds pg et pp et on recommence
else
{
cout << pg << "-" << pp << "= 0"<< endl;
break; //On casse la boucle si pp==pg
}
}
/*On indique le résultat*/
cout << "Le PGCD de " << a << " et " << b << " est " << pp << " " << endl;
if(res==1) cout << "Ces deux nombres sont donc premiers. " << endl;
system("pause");
return 0;
}