C++-ohjelma GCD:n etsimiseen

C Ohjelma Gcd N Etsimiseen



GCD:tä kutsutaan ' Suurin yhteinen jakaja ” (GCD). Se esiintyy säännöllisesti erilaisissa laskelmissa ja tekniikoissa. Se on matematiikan peruskäsite, jota käytetään laskemaan suurin positiivinen luku, joka on seurausta jaosta kahden tai useamman luvun välillä, joilla on jäljellä nolla.

Tässä oppaassa analysoimme erilaisia ​​malleja löytääksemme GCD:n C++:n menetelmillä.

C++-ohjelma GCD:n etsimiseen

C++:ssa saadaksesi suurimman positiivisen kokonaisluvun, joka jakaa kaksi annettua lukua jättämättä yhtään jäännöstä, käytä GCD:tä (Greatest Common Divisor). Se auttaa yksinkertaistamaan murtolukuja ja ratkaisemaan ongelmia, joihin liittyy yhteisiä tekijöitä. Ohjelman GCD-funktio palauttaa suurimman yhteisen tekijän kahden syötetyn kokonaisluvun välillä.







C++ tarjoaa useita menetelmiä kahden luvun GCD:n laskemiseen. Jotkut niistä on kuvattu alla.



Tapa 1: Etsi GCD käyttämällä euklidesalgoritmia C++:ssa

' Euklidinen algoritmi ” on laajalti käytetty ja luotettava menetelmä kahden eri luvun GCD:n määrittämiseen. Se perustuu siihen tosiasiaan, että kahden kokonaisluvun GCD pysyy muuttumattomana, jos pienempi luku(kokonaisluku) vähennetään suuremmasta, ja tämä lähestymistapa jatkuu, kunnes jostakin kokonaisluvusta tulee nolla.



Katsotaanpa alla olevaa esimerkkiä, täältä löydämme kahden luvun (GCD) euklidisen algoritmin avulla. Sisällytä ensin tarvittavat kirjastot:





#include
käyttämällä nimiavaruus std ;

Tässä:

  • ' ” otsikkotiedosto sisältää tulo- ja lähtövirrat, mikä mahdollistaa syöttö- ja tulostustoiminnot.
  • ' käyttäen nimiavaruutta std ” on ohje, joka helpottaa std-nimiavaruudesta peräisin olevien nimien käyttöä.

Ilmoita sitten ' find_GCD() 'funktio, joka ottaa kaksi kokonaislukuparametria' arvo1 ' ja ' arvo2 ' vastaavasti. Käytä seuraavaksi ' jos ' lausunto tarkistaaksesi ' arvo1 'joka on aina suurempi ja yhtä suuri kuin' arvo2 ”. Tämän jälkeen ' sillä aikaa 'silmukkaa käytetään, joka jatkaa arvon palauttamista ehtoon asti' arvo2 != 0 ” muuttuu vääräksi. 'While'-silmukan sisällä 'arvo1' jaetaan 'arvo2':lla ja tallentaa tuloksen ' loput ”muuttuja.



Arvot 'arvo1' ja 'arvo2' päivitetään, kun 'arvo1' tulee 'arvon2' nykyiseksi arvoksi ja 'arvo2' laskettu 'jäännös'. Silmukka jatkuu, kunnes 'arvo2' on 0, jolloin GCD on löydetty euklidisella algoritmilla. Lopuksi palauta 'arvo1' 'find_GCD'-funktioon.

int find_GCD ( int arvo1, int arvo2 ) {
jos ( arvo2 > arvo1 ) {
vaihtaa ( arvo1, arvo2 ) ;
}
sillä aikaa ( arvo2 ! = 0 ) {
int loput = arvo1 % arvo2 ;
arvo1 = arvo2 ;
arvo2 = loput ;
}

palata arvo1 ;
}

' pää() '-toiminto, ilmoitettu ' numero1 ” ja numero1 ”muuttujia. Käytä sitten ' cout ”-lausuntoa saadakseen käyttäjiltä palautetta. Seuraavaksi ' syöminen ” -objektia käytetään lukemaan syötetyt kokonaisluvut vakiosyötteestä ja tallentamaan ne muuttujiin 'num1' ja 'num2'. Sen jälkeen kutsuttiin ' find_GCD() ' -menetelmä, joka ottaa 'num1' ja 'num2' parametreiksi ja tallentaa tulokset ' minun_tulos ”muuttuja. Lopuksi käytettiin ' cout ' kanssa ' << ” lisäysoperaattori tulostaaksesi arvioidun GCD:n konsoliin:

int pää ( ) {
int numero1, numero2 ;
cout << 'Syötä kaksi numeroa' << endl ;
syöminen >> numero1 >> numero2 ;

int minun_tulos = find_GCD ( numero1, numero2 ) ;
cout << 'Kahden kokonaisluvun GCD euklidisen algoritmin avulla: ' << minun_tulos << endl ;

palata 0 ;
}

Lähtö

Tapa 2: Etsi GCD rekursiivisesti C++:ssa

Toinen tapa laskea GCD C++:ssa on rekursiivisesti if-lauseen käyttö. Katsotaanpa alla olevaa yksinkertaista ohjelmaesimerkkiä C++:ssa.

Määritä alla olevaan koodiin ' laske_Gcd() ”-toiminto laskea kahden luvun GCD. Se vaatii kaksi kokonaislukuparametria, ' a ' ja ' b ”. Se tarkistaa, onko ' b ' on yhtä suuri kuin ' 0 ”, palauta sitten ' a ”. Muuten ' laske_Gcd() 'funktio kutsuu rekursiivisesti parametreilla' b ' ja ' a%b ”:

#include
käyttämällä nimiavaruus std ;
int laskea_Gcd ( int a, int b )
{
jos ( b == 0 )
palata a ;
palata laskea_Gcd ( b, a % b ) ;
}

Ilmoita seuraavaksi muuttujat 'num1' ja 'num2' ' pää() ”-toiminto. Käytä tämän jälkeen ' cout '-lauseke näyttää ' Syötä kaksi numeroa ' viesti, sitten ' syöminen ”-objekti lukee ja tallentaa käyttäjän syöttämät muuttujat. Eteenpäin siirryttäessä kutsuttiin ' laske_Gcd() ”-toiminto syötearvoilla ”num1” ja ”num2”. Tallennettu ' tulos '-muuttuja ja käytti '' cout ' näyttääksesi tuloksena olevan arvon:

int pää ( )
{
int numero1, numero2 ;
cout << 'Syötä kaksi numeroa:' <> numero1 >> numero2 ;
int tulos = laskea_Gcd ( numero1, numero2 ) ;
cout << 'Kahden luvun GCD käyttäen rekursiivista menetelmää' << tulos << endl ;
palata 0 ;
}

Lähtö

Tapa 3: Etsi GCD käyttäen for Loop C++:ssa

Alla oleva ohjelma käytti 'for'-silmukkaa löytääkseen suurimman yhteisen jakajan:

#sisältää
käyttämällä nimiavaruus std ;
int pää ( ) {
int arvo1, arvo2, gcd ;
cout << 'Anna kaksi kokonaislukutyyppistä arvoa' <> arvo1 >> arvo2 ;
jos ( arvo2 > arvo1 ) {
int temp = arvo2 ;
arvo2 = arvo1 ;
arvo1 = temp ;
}

varten ( int i = 1 ; i <= arvo2 ; ++ i ) {
jos ( arvo1 % i == 0 && arvo2 % i == 0 ) {
gcd = i ;
}
}
cout << 'Kahden arvon GCD käyttäen silmukkaa: ' << gcd ;

palata 0 ;
}

Ilmoita yllä olevassa koodissa ensin kolme kokonaislukumuuttujaa ' arvo1 ”, “ arvo2 ”, ja ” gcd ' sisällä ' pää() ”-toiminto. Käytä seuraavaksi ' cout ” -objekti saada syötearvot käyttäjiltä. Käyttäjän syöttämät arvot tallennetaan 'arvo1'- ja 'arvo2'-kohtaan käyttämällä ' >> '-operaattori ' syöminen ”objekti. Käytä sitten ' jos ' lausunto tarkistaaksesi, onko ' arvo1 ' On ' > ” kuin ” arvo2 ' tarkistamalla, onko ' temp '-muuttuja sisältää 'arvo2' ja määrittää sen sitten 'arvo1':ksi 'arvo2' ja 'temp' arvoksi 'arvo1'. Tämän jälkeen 'for' -silmukka toistuu sisäpuolelle ' jos ”ehto täyttyy. Käytä lopuksi ' cout ”-lausunto tulostaaksesi tuloksen. Seuraavasti:

Olet oppinut C++-ohjelmointimenetelmistä GCD:n löytämiseksi.

Johtopäätös

GCD on tärkeä matematiikan käsite, joka auttaa käyttäjiä määrittämään suurimman positiivisen kokonaisluvun, joka jakaa molemmat luvut ilman jäännöstä. GCD:n löytämiseen C++:ssa käytetään useita menetelmiä, kuten ' Euklidinen algoritmi', ' rekursiivinen ”, ja ” varten 'silmukka. Tässä oppaassa olemme havainnollistaneet C++-ohjelmointimenetelmiä GCD:n löytämiseksi.