English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Recueil complet d'exemples de programmation C
Exemples de calcul du plus grand commun diviseur de deux entiers (entiers positifs et négatifs) en utilisant des boucles et des instructions de décision de différentes manières.
Pour comprendre cet exemple, vous devriez comprendre ce qui suitProgrammation en CThème :
Le HCF ou GCD (plus grand commun diviseur) des deux entiers peut être divisé précisément par deux nombres (sans reste).
Il y a plusieurs méthodes pour trouver le plus grand commun diviseur en programmation C.
#include <stdio.h> int main() { int n1, n2, i, gcd; printf("Entrez deux entiers: "); scanf("%d %d", &n1, &n2); for(i=1; i <= n1 && i <= n2; ++i) { // Vérifiez si i est un diviseur commun des deux entiers if(n1%i==0 && n2%i==0) gcd= i; } printf("Le PGCD de %d et %d est %d", n1, n2, gcd); return 0; }
Dans ce programme, les deux entiers saisis par l'utilisateur sont stockés dans la variable n1et n2dans. Ensuite, itérer for, jusqu'à ce que i soit inférieur à n1et n2.
Dans chaque itération, si n1et n2peuvent être divisés par i, alors on assigne la valeur de i à gcd.
Lorsque le cycle for est terminé, le plus grand commun diviseur des deux nombres est stocké dans la variable gcd.
#include <stdio.h> int main() { int n1, n2; printf("Entrez deux entiers positifs: "); scanf("%d %d",&n1&n2); while(n1!=n2) { if(n1 > n2) n1 -= n2; else n2 -= n1; } printf("Plus grand commun diviseur = %d", n1); return 0; }
Résultat de la sortie
Entrez deux entiers positifs: 81 153 Plus grand commun diviseur = 9
C'est une meilleure méthode pour trouver le plus grand commun diviseur. Dans cette méthode, on soustrait le plus petit entier du plus grand, puis on affecte le résultat à la variable qui conserve le plus grand entier. Ce processus continue jusqu'à ce que n1et n2égal.
Seulement lorsque l'utilisateur saisit un entier positif, les deux programmes ci-dessus peuvent fonctionner comme prévu. Voici quelques modifications de ce deuxième exemple, qui peuvent trouver le plus grand commun diviseur de nombres entiers positifs et négatifs.
#include <stdio.h> int main() { int n1, n2; printf("Entrez deux entiers: "); scanf("%d %d",&n1&n2); // Si l'utilisateur saisit un nombre négatif, le signe de ce nombre sera changé en positif n1 = ( n1 > 0) ? n1 : -n1; n2 = ( n2 > 0) ? n2 : -n2; while(n1!=n2) { if(n1 > n2) n1 -= n2; else n2 -= n1; } printf("Plus grand commun diviseur = %d", n1); return 0; }
Résultat de la sortie
Entrez deux entiers : 81 -153 Plus grand commun diviseur = 9
Vous pouvez également utiliserRecherche du plus grand commun diviseur par récursion.