Kako implementirati GCD u Python?



Ovaj će vas članak upoznati s različitim načinima pronalaska GCD-a u Pythonu nakon čega slijedi detaljna programska demonstracija

U školi i na fakultetu svi smo naučili osnove matematike. Među svim složenim konceptima trigonometrije i aritmetike, jedan od koncepata koji se najčešće koristi u programiranju je GCD ili Greatest Common Divisor. Slično svim programskim jezicima, previše podržava stvaranje koda koji će moći pronaći GCD dva broja koja je dao korisnik, a u ovom ćemo članku naučiti kako to učiniti. Pogledajmo kako implementirati GCD u Python,

kako pronaći najveći broj u nizu java

Pa krenimo,





Što je GCD?

GCD je kratica za Greatest Common Delitelj što je matematička jednadžba za pronalaženje najvećeg broja koji može podijeliti oba broja koja je dao korisnik. Ponekad se ova jednadžba naziva i najvećim zajedničkim čimbenikom. Na primjer, najveći zajednički faktor za brojeve 20 i 15 je 5, jer se oba ova broja mogu podijeliti s 5. Ovaj se koncept također može lako proširiti i na skup od više od 2 broja, gdje će GCD biti broj koja dijeli sve brojeve koje je dao korisnik.

Koncept GCD-a ima širok broj primjena u teoriji brojeva, posebice onu tehnologije šifriranja koja je RSA, kao i modularne aritmetike. Također se ponekad koristi za pojednostavljivanje razlomaka koji su prisutni u jednadžbi.



Sad kad znate osnovni koncept GCD-a, pogledajmo kako možemo programirati program u Pythonu da izvrši isti.

GCD u Pythonu

Da bismo izračunali GCD u Pythonu, trebamo koristiti matematičku funkciju koja se ugrađuje u Python knjižnicu. Istražimo nekoliko primjera kako bismo ovo bolje razumjeli.

Pogledajmo kako pronaći GCD u Pythonu pomoću rekurzije



GCD pomoću rekurzija

# Python kôd za demonstraciju naivne # metode za izračunavanje gcd (rekurzija) def hcfnaive (a, b): if (b == 0): return a else: return hcfnaive (b, a% b) a = 60 b = 48 # ispisuje 12 print ('GCD od 60 i 48 je:', end = '') print (hcfnaive (60,48))

Kada se pokrene gornji program, izlaz će izgledati otprilike ovako.

GCD od 60 i 48 je: 12

Također možemo povezati GCD pomoću petlji,

GCD pomoću petlji

# Python kôd za demonstraciju naivne # metode za izračunavanje gcd (Loops) def computeGCD (x, y): ako je x> y: small = y else: small = x za i u rasponu (1, small + 1): if (( x% i == 0) i (y% i == 0)): gcd = i return gcd a = 60 b = 48 # ispisuje 12 print ('GCD od 60 i 48 je:', end = '') ispis (izračunGCD (60,48))

Kada se izvrši gornji program, izlaz će izgledati ovako.

GCD od 60 i 48 je: 12

Pogledajmo sljedeću metodu,

GCD korištenjem euklidskog algoritma

# Python kôd za demonstraciju naivne # metode izračuna gcd (euklidski algo) def computeGCD (x, y): while (y): x, y = y, x% y return xa = 60 b = 48 # ispisuje 12 print (' GCD od 60 i 48 je: ', end =' ') print (computeGCD (60,48))

Izlaz za gore spomenuti program bit će,

GCD od 60 i 48 je: 12

Nastavljamo dalje, dolje je četvrta metoda za pronalaženje GCD-a u Pythonu,

GCD pomoću matematičke funkcije GCD

Prije nego što upotrijebimo funkciju math.gcd () za izračunavanje GCD brojeva u Pythonu, pogledajmo njegove različite parametre.

Sintaksa: math.gcd (x, y)

Parametri

X: je negativan cijeli broj čiji gcd treba izračunati.

Y: je drugi cijeli broj koji nije negativan čiji gcd treba izračunati.

Povratna vrijednost: Ovaj će parametar vratiti apsolutno pozitivnu povratnu vrijednost nakon što izračuna GCD oba broja koje je korisnik unio.

Iznimke: Ako su u određenoj situaciji oba broja koja je korisnik unio jednaki nuli, tada će funkcija vratiti nulu, a ako je ulaz znak, funkcija će vratiti pogrešku.

Pogledajmo primjer koda,

# Python kôd za demonstraciju gcd () # metoda za izračunavanje gcd import math # ispisuje 12 print ('GCD od 60 i 48 je:', end = '') print (math.gcd (60,48))

Rezultat gornjeg programa bit će,

GCD od 60 i 48 je: 12

Uobičajene iznimke

Ovdje su najčešće iznimke za upotrebu ove funkcije.

  1. Ako je bilo koji od brojeva koje je korisnik unio nula, tada će funkcija vratiti nulu.
  2. Ako je bilo koji od ulaza znak, tada će funkcija vratiti pogrešku tipa.

Da biste to bolje razumjeli, pogledajte primjer u nastavku.

# Python kôd za demonstraciju gcd () # metoda za izračunavanje gcd import math # ispisuje 12 print ('GCD od 60 i 48 je:', end = '') print (math.gcd (60,48))

Izlaz za gornji program bit će,

GCD od 0 i 0 je: 0

GCD a i 13 je:

Prilikom pokretanja gornji program će također vratiti pogrešku u izvođenju koja će izgledati otprilike ovako.

Traceback (najnoviji zadnji poziv):

kako stvoriti slučajni niz u javi -

Datoteka “/home/94493cdfb3c8509146254862d12bcc97.py”, redak 12, u

ispis (math.gcd (‘a’, 13))

TypeError: objekt 'str' ne može se protumačiti kao cijeli broj

Dakle, ovo nas dovodi do kraja ovog članka o GCD-u na Pythonu.

Možete dobiti detaljno znanje o Pythonu, zajedno s raznim aplikacijama za mrežni trening uživo s podrškom 24/7 i doživotnim pristupom. Imate pitanje za nas? Spomenite ih u odjeljku za komentare ovog članka i javit ćemo vam se.