Jak implementovat GCD v Pythonu?



Tento článek vás seznámí s různými způsoby, jak najít GCD v Pythonu, následovanou podrobnou programovou ukázkou

Ve škole a na vysoké škole jsme se všichni naučili základy matematiky. Ze všech složitých konceptů trigonometrie a aritmetiky se v programování nejčastěji používá jeden koncept GCD nebo Greatest Common Divisor. Podobně jako všechny programovací jazyky, také podporuje vytvoření kódu, který bude schopen najít GCD dvou čísel daných uživatelem a v tomto článku se naučíme, jak to udělat. Podívejme se, jak implementovat GCD v Pythonu,

Pojďme tedy začít





Co je GCD?

GCD je zkratka pro Greatest Common Divisor, což je matematická rovnice pro nalezení největšího počtu, který může rozdělit obě čísla uvedená uživatelem. Někdy se tato rovnice označuje také jako největší společný faktor. Například největším společným faktorem pro čísla 20 a 15 je 5, protože obě tato čísla lze rozdělit na 5. Tento koncept lze snadno rozšířit také na sadu více než 2 čísel, kde GCD bude číslo který rozděluje všechna čísla zadaná uživatelem.

Koncept GCD má širokou škálu aplikací v teorii čísel, zejména v šifrovací technologii, která je jak RSA, tak i modulární aritmetika. Někdy se také používá ke zjednodušení zlomků přítomných v rovnici.



Nyní, když znáte základní koncept GCD, podívejme se, jak můžeme programovat program v Pythonu tak, aby byl stejný.

GCD v Pythonu

Abychom mohli vypočítat GCD v Pythonu, musíme použít matematickou funkci, která je součástí vestavěné knihovny Pythonu. Prozkoumejme několik příkladů, abychom tomu lépe porozuměli.

Podívejme se, jak najít GCD v Pythonu pomocí rekurze



GCD pomocí rekurzí

# Pythonský kód k demonstraci naivní # metody pro výpočet gcd (rekurze) def hcfnaive (a, b): if (b == 0): return a else: return hcfnaive (b, a% b) a = 60 b = 48 # vytiskne 12 print ('GCD 60 a 48 je:', end = '') print (hcfnaive (60,48))

Po spuštění výše uvedeného programu bude výstup vypadat nějak takto.

GCD 60 a 48 je: 12

Můžeme také rozřezat GCD pomocí smyček,

GCD pomocí smyček

# Pythonský kód k demonstraci naivní # metody pro výpočet gcd (Loops) def computeGCD (x, y): if x> y: small = y else: small = x for i in range (1, small + 1): if (( x% i == 0) and (y% i == 0)): gcd = i return gcd a = 60 b = 48 # prints 12 print ('Gcd 60 a 48 is:', end = '') tisk (computeGCD (60,48))

Po provedení výše uvedeného programu bude výstup vypadat takto.

GCD 60 a 48 je: 12

Uvidíme další metodu,

GCD pomocí euklidovského algoritmu

# Pythonský kód k předvedení naivní # metody výpočtu gcd (Euclidean algo) def computeGCD (x, y): while (y): x, y = y, x% y return xa = 60 b = 48 # prints 12 print (' GCD 60 a 48 je: ', end =' ') print (computeGCD (60,48))

Výstupem pro výše uvedený program bude,

GCD 60 a 48 je: 12

Pokračováním níže je čtvrtá metoda hledání GCD v Pythonu,

GCD pomocí matematické funkce GCD

Než můžeme použít funkci math.gcd () k výpočtu GCD čísel v Pythonu, podívejme se na jeho různé parametry.

co je metoda v JavaScriptu
Syntaxe: math.gcd (x, y)

Parametry

X: je nezáporné celé číslo, jehož gcd je třeba vypočítat.

Y: je druhé nezáporné celé číslo, jehož gcd je třeba vypočítat.

Návratová hodnota: Tento parametr vrátí absolutní kladnou návratovou hodnotu poté, co vypočítá GCD obou čísel zadaných uživatelem.

Výjimky: Pokud jsou v určité situaci obě čísla zadaná uživatelem nulová, pak funkce vrátí nulu a pokud je vstupem znak, vrátí funkce chybu.

Podívejme se na ukázkový kód,

# Pythonský kód k prokázání gcd () # metoda výpočtu gcd import math # tisk 12 tisku ('GCD 60 a 48 je:', end = '') print (math.gcd (60,48))

Výstupem výše uvedeného programu bude,

GCD 60 a 48 je: 12

Společné výjimky

Tady jsou nejčastější výjimky pro použití této funkce.

  1. Pokud je jedno z čísel zadaných uživatelem nula, funkce vrátí nulu.
  2. Pokud je jedním ze vstupů znak, vrátí funkce chybu typu.

Abyste tomu lépe porozuměli, podívejte se na níže uvedený příklad.

# Pythonský kód k prokázání gcd () # metoda výpočtu gcd import math # tisk 12 tisku ('GCD 60 a 48 je:', end = '') print (math.gcd (60,48))

Výstupem pro výše uvedený program bude,

GCD 0 a 0 je: 0

GCD z A a 13 je:

Při spuštění výše uvedený program také vrátí runtime chybu, která bude vypadat nějak takto.

Traceback (poslední hovor poslední):

Soubor „/home/94493cdfb3c8509146254862d12bcc97.py“, řádek 12, v

tisk (math.gcd („a“, 13))

TypeError: objekt „str“ nelze interpretovat jako celé číslo

Tím se dostáváme na konec tohoto článku o GCD v Pythonu.

Chcete-li získat podrobné znalosti o Pythonu a jeho různých aplikacích, můžete pro živé online školení s 24/7 podporou a celoživotním přístupem. Máte na nás dotaz? Uveďte je v sekci komentářů tohoto článku a my se vám ozveme.