C++ Program pro nalezení GCD

C Program Pro Nalezeni Gcd



GCD se označuje jako „ Největší společný dělitel “ (GCD). Pravidelně se objevuje v různých výpočtech a technikách. Je to základní koncept v matematice, který se používá k výpočtu nejvyššího kladného čísla, které je výsledkem dělení mezi dvě nebo více čísel, která mají zbývající nulový zbytek.

V této příručce budeme analyzovat různé vzory, abychom našli GCD pomocí metod v C++.

C++ Program pro nalezení GCD

Chcete-li v C++ získat největší kladné celé číslo, které dělí dvě poskytnutá čísla bez zanechání jakéhokoli zbytku, použijte GCD (Greatest Common Delvisor). Pomáhá při zjednodušování zlomků a řešení problémů zahrnujících společné faktory. Funkce GCD v programu vrací největší společný faktor mezi dvěma vstupními celými čísly.







C++ poskytuje několik metod pro výpočet GCD dvou čísel. Některé z nich jsou popsány níže.



Metoda 1: Najděte GCD pomocí euklidovského algoritmu v C++

' Euklidovský algoritmus ” je široce používaná a spolehlivá metoda pro určení GCD dvou různých čísel. Je založen na skutečnosti, že GCD pro dvě celá čísla zůstává nezměněno, pokud je menší číslo (celé číslo) odečteno od většího, a tento přístup pokračuje, dokud se kterékoli z celých čísel nestane nulou.



Podívejme se na níže uvedený příklad, zde najdeme (GCD) dvou čísel pomocí euklidovského algoritmu. Nejprve zahrňte požadované knihovny:





#include
použitím jmenný prostor std ;

Tady:

  • ” hlavičkový soubor obsahuje vstupní a výstupní proudy, což umožňuje vstupní a výstupní operace.
  • pomocí jmenného prostoru std ” je direktiva, která usnadňuje používání jmen pocházejících z jmenného prostoru std.

Poté deklarujte „ find_GCD() 'funkce, která přebírá dva celočíselné parametry' hodnota1 ' a ' hodnota2 “. Dále použijte „ -li “ prohlášení pro kontrolu “ hodnota1 “, který bude vždy větší a rovný “ hodnota2 “. Po tomto, „ zatímco 'používá se smyčka, která pokračuje v vracení hodnoty, dokud není splněna podmínka ' hodnota2 != 0 “ se stává nepravdivým. Uvnitř cyklu „while“ je „hodnota1“ dělena „hodnotou2“ a výsledek se uloží do „ zbytek “proměnná.



Hodnoty „hodnota1“ a „hodnota2“ se aktualizují, protože „hodnota1“ se stane aktuální hodnotou „hodnoty2“ a „hodnota2“ se stane vypočítaným „zbytkem“. Smyčka pokračuje, dokud se „hodnota2“ nestane 0, v tom okamžiku bylo GCD nalezeno pomocí euklidovského algoritmu. Nakonec vraťte „value1“ do funkce „find_GCD“.

int find_GCD ( int hodnota1, int hodnota2 ) {
-li ( hodnota2 > hodnota1 ) {
vyměnit ( hodnota1, hodnota2 ) ;
}
zatímco ( hodnota2 ! = 0 ) {
int zbytek = hodnota1 % hodnota2 ;
hodnota1 = hodnota2 ;
hodnota2 = zbytek ;
}

vrátit se hodnota1 ;
}

V ' hlavní() “funkce, deklarovaná “ číslo1 ' a číslo1 “proměnné. Poté použijte „ cout “, abyste získali informace od uživatelů. Dále, „ jíst Objekt ” slouží k načtení zadaných celých čísel ze standardního vstupu a jejich uložení do proměnných „num1“ a „num2“. Poté se nazývá „ find_GCD() “, která bere „num1“ a „num2“ jako parametry a ukládá výsledky do „ můj_výsledek “proměnná. Nakonec použil „ cout “ s „ << ” operátor vložení pro tisk odhadovaného GCD na konzoli:

int hlavní ( ) {
int číslo1, číslo2 ;
cout << 'Zadejte dvě čísla' << endl ;
jíst >> číslo1 >> číslo2 ;

int můj_výsledek = find_GCD ( číslo1, číslo2 ) ;
cout << 'GCD dvou celých čísel pomocí euklidovského algoritmu: ' << můj_výsledek << endl ;

vrátit se 0 ;
}

Výstup

Metoda 2: Najít GCD rekurzivně v C++

Další metodou výpočtu GCD v C++ je rekurzivně pomocí příkazu if. Podívejme se na níže uvedený jednoduchý příklad programu v C++.

V níže uvedeném kódu definujte „ vypočítat_Gcd() ” funkce pro výpočet GCD dvou čísel. Vyžaduje dva celočíselné parametry, “ A ' a ' b “. Zkontroluje, zda „ b “ se rovná „ 0 “, poté vraťte „ A “. V opačném případě „ vypočítat_Gcd() 'funkce volá rekurzivně s parametry' b ' a ' a%b “:

#include
použitím jmenný prostor std ;
int vypočítat_Gcd ( int A, int b )
{
-li ( b == 0 )
vrátit se A ;
vrátit se vypočítat_Gcd ( b, a % b ) ;
}

Dále deklarujte proměnné „num1“ a „num2“ uvnitř „ hlavní() funkce “. Poté použijte „ cout “, aby se zobrazilo “ Zadejte dvě čísla “, poté „ jíst ” objekt čte a ukládá proměnné zadané uživatelem. Při pohybu vpřed vyvolal „ vypočítat_Gcd() ” funkce se vstupními hodnotami “num1” a “num2”. Uloženo uvnitř „ výsledek 'proměnnou' a použil ' cout ” pro zobrazení výsledné hodnoty:

int hlavní ( )
{
int číslo1, číslo2 ;
cout << 'Zadejte dvě čísla: ' <> číslo1 >> číslo2 ;
int výsledek = vypočítat_Gcd ( číslo1, číslo2 ) ;
cout << 'GCD dvou čísel pomocí rekurzivní metody' << výsledek << endl ;
vrátit se 0 ;
}

Výstup

Metoda 3: Najděte GCD pomocí pro smyčku v C++

Níže uvedený program použil smyčku „for“ k objevení největšího společného dělitele:

#zahrnout
použitím jmenný prostor std ;
int hlavní ( ) {
int hodnota1, hodnota2, gcd ;
cout << 'Zadejte dvě hodnoty typu celé číslo' <> hodnota1 >> hodnota2 ;
-li ( hodnota2 > hodnota1 ) {
int tepl = hodnota2 ;
hodnota2 = hodnota1 ;
hodnota1 = tepl ;
}

pro ( int i = 1 ; i <= hodnota2 ; ++ i ) {
-li ( hodnota1 % i == 0 && hodnota2 % i == 0 ) {
gcd = i ;
}
}
cout << 'GCD dvou hodnot používaných pro smyčku: ' << gcd ;

vrátit se 0 ;
}

Ve výše uvedeném kódu nejprve deklarujte tři celočíselné proměnné “ hodnota1 “, “ hodnota2 ', a ' gcd ' uvnitř ' hlavní() funkce “. Dále použijte „ cout ” objekt získat vstupní hodnoty od uživatelů. Uživatelské vstupní hodnoty se uloží do „hodnota1“ a „hodnota2“ pomocí „ >> ” operátor s “ jíst “objekt. Poté použijte „ -li “, abyste zkontrolovali, zda „ hodnota1 ' je ' > “ než “ hodnota2 “ tím, že zkontrolujete, zda „ tepl ” proměnná obsahuje “hodnotu2” a pak ji přiřaďte “hodnota1” až “hodnota2” a “temp” “hodnota1”. Poté se smyčka „for“ iteruje, dokud se uvnitř „ -li “ podmínka splněna. Nakonec použijte „ cout ” pro tisk výsledku. Jak následuje:

Dozvěděli jste se o programovacích metodách C++ pro nalezení GCD.

Závěr

GCD je důležitý koncept matematiky, který pomáhá uživatelům určit největší kladné celé číslo, které dělí obě čísla beze zbytku. K nalezení GCD v C++ se používá více metod, například „ Euklidovský algoritmus“, „ rekurzivní ', a ' pro “smyčka. V této příručce jsme ilustrovali metody programování C++ pro nalezení GCD.