PortailAccueilFAQRechercherCalendrierS'enregistrerMembresGroupesConnexion

Partagez | 
 

 CALCUL DU PGCD DE 2 NBRES PAR SOUSTRACTION et ...

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
Admin
Admin
avatar

Masculin
Nombre de messages : 138
Age : 31
Date d'inscription : 02/09/2006

MessageSujet: CALCUL DU PGCD DE 2 NBRES PAR SOUSTRACTION et ...   Mer 13 Sep - 6:07

Ce programme calcul le PGCD (plus grand diviseur commun) de deux nombres entiers avec la méthode de la soustraction et avec tous les calcules intermédiaires.

Code:
////////////////////////////////////////////////////////////////////////////
/////////// 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;
}
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://design.jeun.fr
 
CALCUL DU PGCD DE 2 NBRES PAR SOUSTRACTION et ...
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Calcul de dénivelé par Memory Map
» rapidité du calcul itinéraire Nuivi 255W
» tableau de calcul ?
» calcul itineraire?
» Re-calcul itinéraire après changement du volume

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
DESIGN STUDIO FORUM :: programmation :: C,C++-
Sauter vers: