C ++ programma GCD atrašanai

Satura rādītājs

Piemēri dažādiem veidiem, kā aprēķināt divu veselu skaitļu GCD (gan pozitīvajiem, gan negatīvajiem skaitļiem), izmantojot cilpas un lēmumu pieņemšanas paziņojumus.

Lai saprastu šo piemēru, jums jāzina par šādām C ++ programmēšanas tēmām:

  • C ++, ja, ja … cits, un Nested, ja … cits
  • C ++ lokam
  • C ++ kamēr un darīt … kamēr cilpa

Lielākais vesels skaitlis, kas var pilnīgi sadalīt divus skaitļus, ir pazīstams kā GCD vai HCF no šiem diviem skaitļiem.

1. piemērs: atrodiet GCD, izmantojot while loop

 #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; )

Rezultāts

 Ievadiet divus skaitļus: 78 52 HCF = 26

Iepriekšējā programmā mazāks skaitlis tiek atņemts no lielāka skaita, un šis skaitlis tiek saglabāts lielāka skaita vietā.

Šis process tiek turpināts, līdz divi skaitļi kļūst vienādi, kas būs HCF.

Piemērs: 2. Atrodiet HCF / GCD, izmantojot cilpu

 #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; )

Šīs programmas loģika ir vienkārša.

Šajā programmā mazs vesels skaitlis starp n1 un n2 tiek saglabāts n2. Tad cilpa tiek iterēta no i = 1līdz i <= n2un katrā atkārtojumā i vērtība tiek palielināta par 1.

Ja abi skaitļi dalās ar i, tad šis skaitlis tiek saglabāts mainīgajā hcf.

Kad atkārtojums ir pabeigts, HCF tiks saglabāts mainīgajā hcf.

Interesanti raksti...