Ejemplos sobre diferentes formas de calcular el MCD de dos enteros (tanto para enteros positivos como negativos) usando bucles y declaraciones de toma de decisiones.
Para comprender este ejemplo, debe tener el conocimiento de los siguientes temas de programación de C ++:
- C ++ if, if … else y anidado if … else
- C ++ para bucle
- C ++ while y do… while Loop
El número entero más grande que puede dividir perfectamente dos números enteros se conoce como GCD o HCF de esos dos números.
Ejemplo 1: Encuentra GCD usando el bucle while
#include using namespace std; int main() ( int n1, n2; cout <> n1>> n2; while(n1 != n2) ( if(n1> n2) n1 -= n2; else n2 -= n1; ) cout << "HCF = " << n1; return 0; )
Salida
Ingrese dos números: 78 52 HCF = 26
En el programa anterior, el número más pequeño se resta del número más grande y ese número se almacena en lugar del número más grande.
Este proceso continúa hasta que se igualan dos números que serán HCF.
Ejemplo: 2. Encuentre HCF / GCD usando for loop
#include using namespace std; int main() ( int n1, n2, hcf; cout <> n1>> n2; // Swapping variables n1 and n2 if n2 is greater than n1. if ( n2> n1) ( int temp = n2; n2 = n1; n1 = temp; ) for (int i = 1; i <= n2; ++i) ( if (n1 % i == 0 && n2 % i ==0) ( hcf = i; ) ) cout << "HCF = " << hcf; return 0; )
La lógica de este programa es simple.
En este programa, el pequeño entero entre n1 y n2 se almacena en n2. A continuación, el bucle se itera de i = 1
a i <= n2
y en cada iteración, el valor de i se incrementa en 1.
Si ambos números son divisibles por i, entonces ese número se almacena en la variable hcf.
Cuando finalice la iteración, HCF se almacenará en la variable hcf.