Ce code permet de calculer le pgcd de 2 nombres. Il est assez simple et n'importe qui devrait le comprendre. J'ai essayé de le commenter un maximum pour les débutants.
Source / Exemple :
#include <stdio.h>
#include <iostream.h>
int nb1,nb2,a,b,r,x;//définition des variables
void main(void) {//fonction main
printf("Recherche du pgcd des deux nombres...\n");
scanf("%d %d",&nb1,&nb2);//Attente des données de l'utilisateur
nb1=(int)nb1;//on convertit les nombres en entier au cas ou
nb2=(int)nb2;
printf("Recherche du pgcd...\n");
if(nb1>nb2){//choix de a et de b: a le plus grand b le plus petit
a=nb1;
b=nb2;
}
else{
a=nb2;
b=nb1;
}
//algorithme d'Euclide
while((a%b)>0){//tant que le reste a et de b est 0
r=a%b;//le reste de a et de b
x=a/b;
x=(int)(x-0.499999999999999999);//on arrondit au nombre en dessous
printf("%d=%d*%d+%d\n",a,b,x,r);//on affiche ce qu'on fait
a=b;//a devient b
b=r;//b devient r
}
printf("PGCD(%d,%d)=%d",nb1,nb2,b);//on affiche le résultat
}
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.