Program C ++ na vyhľadanie GCD

Obsah

Príklady rôznych spôsobov výpočtu GCD dvoch celých čísel (pre kladné aj záporné celé čísla) pomocou slučiek a rozhodovacích výrokov.

Aby ste pochopili tento príklad, mali by ste mať znalosti nasledujúcich programovacích tém C ++:

  • C ++ ak, ak … inak a Vnorené, ak … inak
  • C ++ pre slučku
  • C ++ zatiaľ čo a robiť … zatiaľ čo Loop

Najväčšie celé číslo, ktoré dokáže dokonale rozdeliť dve celé čísla, je známe ako GCD alebo HCF z týchto dvoch čísel.

Príklad 1: Vyhľadajte GCD pomocou cyklu 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; )

Výkon

 Zadajte dve čísla: 78 52 HCF = 26

Vo vyššie uvedenom programe sa menšie číslo odpočíta od väčšieho čísla a toto číslo sa uloží na miesto väčšieho čísla.

Tento proces pokračuje, kým sa dve čísla nestanú rovnakými, čo bude HCF.

Príklad: 2. Vyhľadajte HCF / GCD pomocou cyklu 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; )

Logika tohto programu je jednoduchá.

V tomto programe je malé celé číslo medzi n1 a n2 uložené v n2. Potom je slučka iterovaná od i = 1do i <= n2a v každej iterácii je hodnota i zvýšená o 1.

Ak sú obe čísla deliteľné i, potom je toto číslo uložené v premennej hcf.

Po dokončení iterácie sa HCF uloží do premennej hcf.

Zaujímavé články...