C++ programa, skirta rasti GCD

C Programa Skirta Rasti Gcd



GCD vadinamas „ Didžiausias bendras daliklis “ (GCD). Jis reguliariai pasirodo įvairiuose skaičiavimuose ir technikose. Tai yra pagrindinė matematikos sąvoka, naudojama apskaičiuoti didžiausią teigiamą skaičių, kuris yra padalijimo tarp dviejų ar daugiau skaičių, kurių likutis yra nulis, rezultatas.

Šiame vadove analizuosime įvairius modelius, kad surastume GCD su metodais C++.

C++ programa, skirta rasti GCD

C++ kalboje norėdami gauti didžiausią teigiamą sveikąjį skaičių, padalijantį du pateiktus skaičius nepaliekant jokios liekanos, naudokite GCD (Greatest Common Divisor). Tai padeda supaprastinti trupmenas ir išspręsti problemas, susijusias su bendrais veiksniais. GCD funkcija programoje grąžina didžiausią bendrą koeficientą tarp dviejų įvesties sveikųjų skaičių.







C++ siūlo kelis metodus, kaip apskaičiuoti dviejų skaičių GCD. Kai kurie iš jų aprašyti toliau.



1 būdas: suraskite GCD naudodami euklido algoritmą C++

Euklido algoritmas “ yra plačiai naudojamas ir patikimas dviejų skirtingų skaičių GCD nustatymo metodas. Jis pagrįstas tuo, kad dviejų sveikųjų skaičių GCD lieka nepakitęs, jei iš didesnio atimamas mažesnis skaičius (sveikasis skaičius), ir šis metodas tęsiasi tol, kol bet kuris iš sveikųjų skaičių tampa nuliu.



Pažvelkime į žemiau pateiktą pavyzdį, čia mes randame dviejų skaičių (GCD) naudodami Euklido algoritmą. Pirma, įtraukite reikiamas bibliotekas:





#include
naudojant vardų erdvė std ;

Čia:

  • “ antraštės failas apima įvesties ir išvesties srautus, kurie leidžia atlikti įvesties ir išvesties operacijas.
  • naudojant vardų sritį std “ yra direktyva, leidžianti lengviau naudoti vardus, kilusius iš std vardų erdvės.

Tada paskelbkite „ rasti_GCD() 'funkcija, kuri užima du sveikųjų skaičių parametrus' vertė1 “ ir „ vertė2 “ atitinkamai. Tada naudokite „ jeigu “ pareiškimas, kad patikrintų “ vertė1 “, kuris visada bus didesnis ir lygus “ vertė2 “. Po to „ kol 'Naudojama kilpa, kuri ir toliau grąžina vertę iki sąlygos ' reikšmė2 != 0 “ tampa klaidinga. Ciklo „while“ viduje „reikšmė1“ yra padalinta iš „reikšmė2“ ir išsaugo rezultatą „ priminimas “ kintamasis.



Vertės1 ir vertė2 reikšmės atnaujinamos, nes „reikšmė1“ tampa dabartine „reikšmės2“ reikšme, o „2 vertė“ tampa apskaičiuota „likutimi“. Ciklas tęsiasi tol, kol „reikšmė2“ tampa 0, tuo metu GCD buvo rastas naudojant Euklido algoritmą. Galiausiai grąžinkite „value1“ į funkciją „find_GCD“.

tarpt rasti_GCD ( tarpt vertė1, tarpt vertė2 ) {
jeigu ( vertė2 > vertė1 ) {
apsikeisti ( vertė1, vertė2 ) ;
}
kol ( vertė2 ! = 0 ) {
tarpt priminimas = vertė1 % vertė2 ;
vertė1 = vertė2 ;
vertė2 = priminimas ;
}

grąžinti vertė1 ;
}

Viduje ' pagrindinis () “ funkcija, paskelbta “ skaičius1 “ ir skaičius1 “ kintamieji. Tada naudokite „ cout “, kad gautumėte vartotojų informaciją. Toliau „ valgymas “ objektas naudojamas nuskaityti įvestus sveikuosius skaičius iš standartinės įvesties ir išsaugoti juos „num1“ ir „num2“ kintamuosiuose. Po to buvo vadinamas „ rasti_GCD() “ metodą, kuris naudoja „num1“ ir „num2“ kaip parametrus, o rezultatus išsaugo „ mano_rezultatas “ kintamasis. Galiausiai panaudojo „ cout ' su ' << ” įterpimo operatorius, norint išspausdinti apskaičiuotą GCD konsolėje:

tarpt pagrindinis ( ) {
tarpt skaičius1, skaičius2 ;
cout << 'Įveskite du skaičius' << endl ;
valgymas >> skaičius1 >> skaičius2 ;

tarpt mano_rezultatas = rasti_GCD ( skaičius1, skaičius2 ) ;
cout << 'Dviejų sveikųjų skaičių GCD naudojant Euklido algoritmą: ' << mano_rezultatas << endl ;

grąžinti 0 ;
}

Išvestis

2 būdas: rekursyviai raskite GCD C++

Kitas būdas apskaičiuoti GCD C++ yra rekursinis if teiginio naudojimas. Pažiūrėkime toliau pateiktą paprastą programos pavyzdį C++.

Žemiau esančiame kode apibrėžkite „ apskaičiuoti_Gcd() “ funkcija, skirta apskaičiuoti dviejų skaičių GCD. Tam reikia dviejų sveikųjų skaičių parametrų, ' a “ ir „ b “. Jis patikrins, ar „ b “ yra lygus „ 0 “, tada grąžinkite „ a “. Priešingu atveju „ apskaičiuoti_Gcd() ' funkcija rekursyviai iškviečia su parametrais ' b “ ir „ a%b “:

#include
naudojant vardų erdvė std ;
tarpt apskaičiuoti_Gcd ( tarpt a, tarpt b )
{
jeigu ( b == 0 )
grąžinti a ;
grąžinti apskaičiuoti_Gcd ( b, a % b ) ;
}

Tada deklaruokite „num1“ ir „num2“ kintamuosius „ pagrindinis () ' funkcija. Po to naudokite „ cout ' teiginys, kad būtų rodomas ' Įveskite du skaičius “, tada „ valgymas ” objektas nuskaito ir išsaugo vartotojo įvestus kintamuosius. Judant į priekį, iškvietė „ apskaičiuoti_Gcd() “ funkcija su įvesties reikšmėmis „num1“ ir „num2“. Išsaugota viduje rezultatas ' kintamąjį ir naudojo ' cout “, kad būtų rodoma gauta reikšmė:

tarpt pagrindinis ( )
{
tarpt skaičius1, skaičius2 ;
cout << 'Įveskite du skaičius:' <> skaičius1 >> skaičius2 ;
tarpt rezultatas = apskaičiuoti_Gcd ( skaičius1, skaičius2 ) ;
cout << 'Dviejų skaičių GCD naudojant rekursinį metodą' << rezultatas << endl ;
grąžinti 0 ;
}

Išvestis

3 būdas: suraskite GCD, naudojant for Loop C++

Žemiau pateikta programa naudojo „for“ kilpą, kad surastų didžiausią bendrą daliklį:

#įtraukti
naudojant vardų erdvė std ;
tarpt pagrindinis ( ) {
tarpt vertė1, vertė2, gcd ;
cout << 'Įveskite dvi sveikojo skaičiaus reikšmes' <> vertė1 >> vertė2 ;
jeigu ( vertė2 > vertė1 ) {
tarpt temp = vertė2 ;
vertė2 = vertė1 ;
vertė1 = temp ;
}

dėl ( tarpt i = 1 ; i <= vertė2 ; ++ i ) {
jeigu ( vertė1 % i == 0 && vertė2 % i == 0 ) {
gcd = i ;
}
}
cout << 'GCD iš dviejų reikšmių, naudojant ciklo: ' << gcd ;

grąžinti 0 ;
}

Aukščiau pateiktame kode pirmiausia deklaruokite tris sveikuosius kintamuosius ' vertė1 “, „ vertė2 “ ir „ gcd “ viduje “ pagrindinis () ' funkcija. Tada naudokite „ cout “ objektą, kad gautumėte įvesties reikšmes iš vartotojų. Vartotojo įvestos reikšmės išsaugomos „reikšmė1“ ir „vertė2“, naudojant „ >> ' operatorius su ' valgymas “ objektas. Tada naudokite „ jeigu “ pareiškimą, kad patikrintų, ar „ vertė1 'yra' > “ nei „ vertė2 “ patikrindami, ar „ temp “ kintamasis turi „value2“ ir tada priskiria jį „value1“ prie „value2“ ir „temp“ prie „value1“. Po to ciklas „for“ kartojasi iki vidinio „ jeigu “ sąlyga patenkinta. Galiausiai naudokite „ cout “, kad išspausdintumėte rezultatą. taip:

Sužinojote apie C++ programavimo metodus ieškant GCD.

Išvada

GCD yra svarbi matematikos sąvoka, padedanti vartotojams nustatyti didžiausią teigiamą sveikąjį skaičių, padalijantį abu skaičius be likučio. Norint rasti GCD C++, naudojami keli metodai, pvz., „ Euklido algoritmas“, „ rekursyvus “ ir „ dėl “ kilpa. Šiame vadove iliustravome C++ programavimo metodus, kaip rasti GCD.