Esempi di modi diversi per calcolare GCD di due numeri interi (sia per numeri interi positivi che negativi) utilizzando cicli e istruzioni per il processo decisionale.
Per comprendere questo esempio, è necessario conoscere i seguenti argomenti di programmazione C ++:
- C ++ if, if … else e Nested if … else
- C ++ per Loop
- C ++ while e do … while Loop
Il numero intero più grande che può dividere perfettamente due numeri interi è noto come GCD o HCF di questi due numeri.
Esempio 1: trova GCD utilizzando il ciclo 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; )
Produzione
Immettere due numeri: 78 52 HCF = 26
Nel programma precedente, un numero minore viene sottratto da un numero maggiore e quel numero viene memorizzato al posto di un numero maggiore.
Questo processo viene continuato fino a quando due numeri diventano uguali, che sarà HCF.
Esempio: 2. Trova HCF / GCD utilizzando il ciclo 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; )
La logica di questo programma è semplice.
In questo programma, il piccolo intero tra n1 e n2 è memorizzato in n2. Quindi il ciclo viene iterato da i = 1
a i <= n2
e in ogni iterazione, il valore di i viene aumentato di 1.
Se entrambi i numeri sono divisibili per i, quel numero viene memorizzato nella variabile hcf.
Quando l'iterazione è terminata, HCF verrà memorizzato nella variabile hcf.