Étant donné que parfois j'ai pas grand chose à faire, j'ai fais un programme permettant de calculer un PGCD.
Wikipédia wrote: En arithmétique élémentaire, le plus grand commun diviseur, abrégé en général PGCD, de deux nombres entiers naturels est le plus grand entier naturel qui divise simultanément ces deux entiers.
Il utilise l'algorithme des différences: PGCD (a; b) = PGCD (b; a-b)
Il tourne dans une console
Code: Select all #include <stdio.h> #include <stdlib.h> int main() { printf ("Calcul d'un PGCD\n"); printf ("Par Fujiweb, utilise l'algorithme des différences\n"); printf ("Entrez le plus grand nombre: "); unsigned long premier; scanf ("%d", &premier); //On a récupéré a printf ("Entrez le plus petit nombre: "); unsigned long second; scanf ("%d", &second); //Idem pour b unsigned long trois; //Servira plus tard, ce sera a-b do { trois = premier - second; //car PGCD (a;b) = PGCD (b;a-b) si a > b printf ("premier %d, second %d, différence %d\n", premier, second, trois); //On affiche pas à pas les calculs durant les passages dans la boucle if (second > trois) { premier = second; second = trois; } else { premier = trois; } //Pour pouvoir refaire le calcul, on fais bien attention à que premier > second, pour pas foirer le calcul } while (trois != 0); //Quand trois = 0, le PGCD a été trouvé printf ("Le PGCD est: %d\n", premier);//On l'affiche return 0; } |
