C ++ programm GCD leidmiseks

Lang L: none (table-of-contents)

Näited kahe täisarvu (nii positiivsete kui ka negatiivsete täisarvude) GCD arvutamise erinevatest viisidest tsüklite ja otsustuslausete abil.

Selle näite mõistmiseks peaksid teil olema teadmised järgmistest C ++ programmeerimise teemadest:

  • C ++ kui, kui … muul juhul ja Pesatud, kui … muul juhul
  • C ++ aasale
  • C ++ ajal ja tehke … Loopi ajal

Suurim täisarv, mis suudab täiuslikult jagada kaks täisarvu, on nende kahe arvu GCD või HCF.

Näide 1: leidke GCD while-loopi abil

 #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äljund

 Sisestage kaks numbrit: 78 52 HCF = 26

Ülalolevas programmis lahutatakse väiksem arv suuremast arvust ja see number salvestatakse suurema arvu asemel.

Seda protsessi jätkatakse seni, kuni kaks numbrit saavad võrdseks, milleks saab HCF.

Näide: 2. Leidke HCF / GCD loopi jaoks

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

Selle programmi loogika on lihtne.

Selles programmis salvestatakse n2-s väike täisarv vahemikus n1 kuni n2. Seejärel itereeritakse silmus punktist i = 1kuni i <= n2ja igas iteratsioonis suurendatakse i väärtust 1 võrra.

Kui mõlemad arvud on i-ga jagatavad, salvestatakse see arv muutujas hcf.

Kui iteratsioon on lõppenud, salvestatakse HCF muutujas hcf.

Huvitavad Artiklid...