|
|
|
|
|
En quelques lignes, ça marche:
Algo Début reste <-- 1 ecrire (' N1= ') lire (n1) ecrire (' N2= ') lire (n2) dividende <-- n1 diviseur <-- n2 #tant que reste <> 0 faire reste <-- dividende mod diviseur dividende <-- diviseur diviseur <-- reste Fin tant que ecrire (' Le PGCD de ',n1,' et ',n2,' est ',dividende) Fin En C #include <stdio.h> void main() { int reste; int n1,n2,dividende,diviseur; reste = 1; printf (" N1= "); scanf ("%d", &n1); printf (" N2= "); scanf ("%d", &n2); dividende=n1; diviseur=n2; while (reste!=0) { reste=dividende%diviseur; dividende=diviseur; diviseur=reste; } printf (" Le PGCD de %d et %d est %d",n1,n2,dividende); }
|
eheh, facile ! ;))
et pour le challenge, qui veut tenter l'algo qui donne le pgcd de deux polynomes de degré indéterminé ? c'était le sujet d'un de mes projets l'année dernière, c'est marrant tout plein ! ;) Yoann PS : pour ceux que ça intéresse je peux fournir la solution avec un dossier complet
|
Bonjour, j ai atteri par hasard sur ce forum et j aiessayé de faire le programme de calcul de pgcg
LE voici en quelques lignes en version c++(fonction ) //--------------------------------------------------------------------------- #include<iostream> #include <vcl.h> #pragma hdrstop using namespace std; //programme qui renvoie le pgcd de x et y--------------------------------------------------------------------------- #pragma argsused int pgcd(int x,int y); int main(int argc, char* argv[]) { int x,y,temp;//temp est le nom associé au resultat cout<<"Ce programme determine le pgcd de 2 nombres x et y"<<endl; cout<<"Entrez le nombre x: "; cin>>x; cout<<"Entrez le nombre y: "; cin>>y; temp=pgcd(x,y);//Voir commentaire sur temp ci-dessus cout<<"Le pgcd de "<<x<<" et "<<y<<" est "<<temp<<endl; system("pause"); return 0; } int pgcd(x,y) { if (y==0) return x; else return pgcd(y,x%y); } //--------------------------------------------------------------------------- |
Voici une autre methode tres simple :
#include <stdio.h> #include <conio.h> main() { int a,b,pgcd; printf ("Donner a : "); scanf ("%d",&a); printf ("Donner b : "); scanf ("%d",&b); do { if(a>b) a=a-b; else b=b-a; } while(a!=b); pgcd=a; /* on peu mettre : pgcd=b; */ printf (" Le PGCD est : %d\n",pgcd); getche(); } example : If a=15 , b=5 alors b<a a=10 , b=5 b<a a=5 , b=5 alors pgcd=5 |