Exemplos de maneiras diferentes de calcular GCD de dois inteiros (para inteiros positivos e negativos) usando loops e instruções de tomada de decisão.
Para entender este exemplo, você deve ter conhecimento dos seguintes tópicos de programação C ++:
- C ++ if, if … else e aninhado if … else
- C ++ para Loop
- C ++ while e do … while Loop
O maior inteiro que pode dividir perfeitamente dois inteiros é conhecido como GCD ou HCF desses dois números.
Exemplo 1: Encontre GCD usando loop 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; )
Resultado
Digite dois números: 78 52 HCF = 26
No programa acima, o número menor é subtraído do número maior e esse número é armazenado no lugar do número maior.
Esse processo continua até que, dois números se igualem, que serão HCF.
Exemplo: 2. Encontre HCF / GCD usando o loop for
#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; )
A lógica deste programa é simples.
Neste programa, um pequeno número inteiro entre n1 e n2 é armazenado em n2. Em seguida, o loop é iterado de i = 1
para i <= n2
e em cada iteração, o valor de i é aumentado em 1.
Se ambos os números são divisíveis por i, então, esse número é armazenado na variável hcf.
Quando a iteração terminar, o HCF será armazenado na variável hcf.