Maison > Article > développement back-end > Programme C++ pour calculer le plus grand facteur commun
Le facteur commun le plus élevé ou le plus grand diviseur commun est un facteur qui peut diviser deux ou plusieurs valeurs simultanément sans produire de reste. Dans cet article, nous aborderons plusieurs façons d’effectuer HCF/PGCD de deux nombres en C++.
Ceci n'est qu'une solution mathématique, il existe plusieurs algorithmes pour trouver le plus grand diviseur commun. La méthode euclidienne est une méthode courante pour trouver le plus grand diviseur commun. Nous utiliserons le même algorithme en mode itératif et récursif.
La solution itérative euclidienne pour trouver le plus grand diviseur commun est présentée dans la section algorithme.
#include <iostream> using namespace std; int solve( int x, int y) { if (x == 0) return y; else if (y == 0) return x; while (x != y) { if (x > y) x = x - y; else y = y - x; } return x; } int main( int argc, char* argv[] ) { cout << "HCF of two numbers 12 and 72 is: " << solve(12, 72) << endl; cout << "HCF of two numbers 18 and 13 is: " << solve(18, 13) << endl; cout << "HCF of two numbers 117 and 96 is: " << solve(117, 96) << endl; cout << "HCF of two numbers 85 and 15 is: " << solve(85, 15) << endl; }
HCF of two numbers 12 and 72 is: 12 HCF of two numbers 18 and 13 is: 1 HCF of two numbers 117 and 96 is: 3 HCF of two numbers 85 and 15 is: 5
La même méthode euclidienne peut être implémentée en utilisant des méthodes récursives. Nous décrivons ci-dessous la définition d'une méthode récursive, l'algorithme présenté ci-dessous.
#include <iostream> using namespace std; int solve( int x, int y) { if (x == 0) return y; return solve( y % x, x ); } int main( int argc, char* argv[] ) { cout << "HCF of two numbers 12 and 72 is: " << solve(12, 72) << endl; cout << "HCF of two numbers 18 and 13 is: " << solve(18, 13) << endl; cout << "HCF of two numbers 117 and 96 is: " << solve(117, 96) << endl; cout << "HCF of two numbers 85 and 15 is: " << solve(85, 15) << endl; }
HCF of two numbers 12 and 72 is: 12 HCF of two numbers 18 and 13 is: 1 HCF of two numbers 117 and 96 is: 3 HCF of two numbers 85 and 15 is: 5
Trouver le plus grand facteur commun ou le plus grand diviseur commun est très utile pour résoudre différents problèmes mathématiques. Il peut être calculé à l'aide de la méthode euclidienne. Cette méthode peut être appliquée de manière itérative ou récursive. Nous montrons ici deux méthodes. D'un autre côté, nous pouvons calculer GCD/HCF via le plus petit commun multiple (LCM). Le PGCD et le LCM de deux nombres sont identiques au produit des deux nombres. Ainsi, selon ce principe, si l’on connaît le LCM et le produit de ces deux nombres, on peut facilement calculer le PGCD.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!