Ako implementovať GCD v Pythone?



Tento článok vám predstaví rôzne spôsoby hľadania GCD v Pythone a nasleduje podrobná programová ukážka

V škole a na vysokej škole sme sa všetci učili základy matematiky. Medzi všetkými komplexnými konceptmi trigonometrie a aritmetiky sa v programovaní najčastejšie používa jeden koncept GCD alebo Greatest Common Divisor. Podobne ako všetky programovacie jazyky, tiež podporuje vytvorenie kódu, ktorý bude schopný nájsť GCD dvoch čísel daných používateľom a v tomto článku sa naučíme, ako na to. Pozrime sa, ako implementovať GCD v Pythone,

Začnime teda,





Čo je to GCD?

GCD je skratka pre Greatest Common Divisor, čo je matematická rovnica na nájdenie najväčšieho počtu, ktoré dokáže rozdeliť obe čísla uvedené používateľom. Niekedy sa táto rovnica označuje aj ako najväčší spoločný faktor. Napríklad najväčší spoločný faktor pre čísla 20 a 15 je 5, pretože obidve tieto čísla možno deliť číslom 5. Tento koncept možno ľahko rozšíriť aj na množinu viac ako 2 čísel, kde GCD bude číslo ktorá rozdeľuje všetky čísla dané používateľom.

Koncept GCD má široké využitie v teórii čísel, najmä v šifrovacej technológii, ktorá je ako RSA, tak aj modulárna aritmetika. Niekedy sa tiež používa na zjednodušenie zlomkov, ktoré sú prítomné v rovnici.



Teraz, keď poznáte základný koncept GCD, pozrime sa, ako môžeme programovať program v Pythone na jeho vykonávanie.

GCD v Pythone

Aby sme mohli vypočítať GCD v Pythone, musíme použiť matematickú funkciu, ktorá je zabudovaná v knižnici Pythonu. Pozrime sa na niekoľko príkladov, aby sme tomu lepšie porozumeli.

Pozrime sa, ako nájsť GCD v Pythone pomocou rekurzie



GCD pomocou rekurzií

# Pythonský kód na demonštráciu naivnej # metódy na výpočet gcd (rekurzie) def hcfnaive (a, b): if (b == 0): return a else: return hcfnaive (b, a% b) a = 60 b = 48 # vypíše 12 printov („GCD 60 a 48 je:“, end = “) print (hcfnaive (60,48))

Keď je spustený vyššie uvedený program, výstup bude vyzerať asi takto.

GCD 60 a 48 je: 12

GCD môžeme tiež spojiť pomocou slučiek,

GCD pomocou slučiek

# Pythonský kód na demonštráciu naivnej # metódy na 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) a (y% i == 0)): gcd = vrátim gcd a = 60 b = 48 # vytlačí 12 výtlačkov ('Gcd 60 a 48 je:', end = ')) tlač (computeGCD (60,48))

Po vykonaní vyššie uvedeného programu bude výstup vyzerať takto.

GCD 60 a 48 je: 12

Pozrime sa na ďalšiu metódu,

GCD pomocou euklidovského algoritmu

# Pythonský kód na demonštráciu naivnej # metódy na výpočet 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ýstupom pre vyššie uvedený program bude,

GCD 60 a 48 je: 12

Ďalej pokračujeme štvrtou metódou hľadania GCD v Pythone,

GCD pomocou matematickej funkcie GCD

Predtým, ako použijeme funkciu math.gcd () na výpočet GCD čísel v Pythone, pozrime sa na jej rôzne parametre.

ako previesť reťazec na dátum v jave -
Syntax: math.gcd (x, y)

Parametre

X: je nezáporné celé číslo, ktorého gcd je potrebné vypočítať.

Y: je druhé nezáporné celé číslo, ktorého gcd je potrebné vypočítať.

Návratová hodnota: Tento parameter vráti absolútnu kladnú návratovú hodnotu po vypočítaní GCD oboch čísel zadaných používateľom.

Výnimky: Ak sú v určitej situácii obe čísla zadané používateľom nulové, potom funkcia vráti nulu a ak je vstupom znak, potom funkcia vráti chybu.

L Pozrime sa na ukážkový kód,

# Pythonský kód na demonštráciu gcd () # metóda na výpočet gcd import math # vypíše 12 print ('GCD 60 a 48 je:', end = '') print (math.gcd (60,48))

Výstupom vyššie uvedeného programu bude,

GCD 60 a 48 je: 12

Spoločné výnimky

Tu uvádzame najbežnejšie výnimky pri používaní tejto funkcie.

  1. Ak je ktorékoľvek z čísel zadaných používateľom nula, funkcia vráti nulu.
  2. Ak je niektorým zo vstupov znak, potom funkcia vráti chybu typu.

Ak tomu chcete lepšie porozumieť, pozrite si príklad uvedený nižšie.

# Pythonský kód na demonštráciu gcd () # metóda na výpočet gcd import math # vypíše 12 print ('GCD 60 a 48 je:', end = '') print (math.gcd (60,48))

Výstupom pre vyššie uvedený program bude,

GCD 0 a 0 je: 0

GCD z A a 13 je:

Po spustení vyššie uvedený program vráti aj runtime chybu, ktorá bude vyzerať asi takto.

Traceback (posledný posledný hovor):

Súbor „/home/94493cdfb3c8509146254862d12bcc97.py“, riadok 12, v

tlač (math.gcd („a“, 13))

TypeError: objekt „str“ nemožno interpretovať ako celé číslo

Týmto sa dostávame na koniec tohto článku o GCD v Pythone.

Ak chcete získať podrobné informácie o Pythone a jeho rôznych aplikáciách, môžete pre živé online školenie s nepretržitou podporou a doživotným prístupom. Máte na nás otázku? Uveďte ich v sekcii komentárov tohto článku a my sa vám ozveme.