IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Contribuez Discussion :

PGCD et simplification de fraction [Sources]


Sujet :

Contribuez

  1. #1
    Membre averti
    Profil pro
    Ingénieur en électronique
    Inscrit en
    Septembre 2004
    Messages
    419
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur en électronique

    Informations forums :
    Inscription : Septembre 2004
    Messages : 419
    Points : 333
    Points
    333
    Par défaut PGCD et simplification de fraction
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    int PGCD(int a, int b){
        while(b!=0){
            int c=a%b;
            a=b;
            b=c;
        }
        return a;
    }
    On retourne le plus grand diviseur commun, au pire on auras 1 .


    Simplification de fraction :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    void Fraction::simplification(){
        int r;
        r=PGCD(numerateur,denominateur);
        numerateur=numerateur/r;
        denominateur=denominateur/r;
        //pas de - au dénominateur
        if(denominateur<0){
            numerateur=-numerateur;
            denominateur=-denominateur;
            }
    }
    Ps : merci a Romuald Perrot pour son article Calcul du PGCD par la méthode d'Euclide

  2. #2
    Expert éminent
    Avatar de Melem
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2006
    Messages
    3 656
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 3 656
    Points : 8 389
    Points
    8 389
    Par défaut
    void Fraction::simplification() ? C'est une source C++ alors ...

  3. #3
    boli_971
    Invité(e)
    Par défaut
    Salut,

    Je propose la version récursive de cette fonction.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    int pgcd(int a , int b )
    {
        int r = 0;
        // il faut a > b
        if(a < b)
        {
            int temp = a;
            a = b;
            b = temp;
        }
        /*
        En C++:
        if(a <b)
            std::swap(a, b);
        */
     
        if((r = a%b) == 0) 
            return b;
        else 
            return pgcd(b, r);
    }

Discussions similaires

  1. [Symbolic Math Toolbox] simplification de fraction
    Par protos dans le forum MATLAB
    Réponses: 5
    Dernier message: 09/07/2019, 20h52
  2. Réponses: 0
    Dernier message: 25/01/2013, 23h55
  3. Simplification d'une requête UNION
    Par eautret dans le forum Langage SQL
    Réponses: 6
    Dernier message: 18/01/2005, 14h51
  4. PGCD de plusieurs nombres
    Par barthelv dans le forum Mathématiques
    Réponses: 7
    Dernier message: 06/03/2004, 16h39
  5. [Kylix] Simplifications de l'écriture Kylix/Pascal"
    Par Mr Vincent KLEIN dans le forum EDI
    Réponses: 1
    Dernier message: 11/03/2003, 11h07

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo