Bas ce code permet,comme l'explique le titre, de calculer le PGCD de deux nombres entiers avec la méthode de la soustraction et avec tous les calcules intermédiaires.
Je sais que ce n'est pas follichon, mais bon je suis débutant et j'ai eu à mes débuts du mal à trouver des codes sources clairs , bien expliqués et surtout à mon niveau.
Donc je pense quil en faut kan même, et que entre autre celui ci pourra bien servir à ceux qui débute.
Source / Exemple :
////////////////////////////////////////////////////////////////////////////
/////////// 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;
}
Conclusion :
Le code a été donc édité et compilé with devc++4 et pi voila tout;
N'hésitez pas à me faire part de vos remarques et tout et tout....merci
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.