C ++ -ohjelma GCD: n löytämiseksi

Sisällysluettelo

Esimerkkejä eri tavoista laskea kahden kokonaisluvun GCD (sekä positiivisille että negatiivisille kokonaisluvuille) silmukoiden ja päätöksentekolausekkeiden avulla.

Tämän esimerkin ymmärtämiseksi sinulla on oltava tieto seuraavista C ++ -ohjelmointiaiheista:

  • C ++ jos, jos… muu ja sisäkkäinen, jos … muuten
  • C ++ silmukalle
  • C ++ taas ja tee … silmukan aikana

Suurin kokonaisluku, joka voi täydellisesti jakaa kaksi kokonaislukua, tunnetaan näiden kahden numeron nimellä GCD tai HCF.

Esimerkki 1: Etsi GCD while-silmukan avulla

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

Tuotos

 Syötä kaksi numeroa: 78 52 HCF = 26

Yllä olevassa ohjelmassa pienempi luku vähennetään suuremmasta numerosta ja kyseinen numero tallennetaan suuremman luvun sijasta.

Tätä prosessia jatketaan, kunnes kahdesta luvusta tulee yhtä suuri, mikä on HCF.

Esimerkki: 2. Etsi HCF / GCD käyttämällä silmukkaa

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

Tämän ohjelman logiikka on yksinkertainen.

Tässä ohjelmassa pieni kokonaisluku n1 ja n2 välillä tallennetaan n2: een. Sitten silmukka iteroidaan vaiheesta i = 1toiseen i <= n2ja jokaisessa iteraatiossa i: n arvoa kasvatetaan yhdellä.

Jos molemmat luvut ovat jaettavissa i: llä, kyseinen numero tallennetaan muuttujaan hcf.

Kun iterointi on valmis, HCF tallennetaan muuttujaan hcf.

Mielenkiintoisia artikkeleita...