Tässä esimerkissä opit etsimään kahden numeron GCD: n kahdella eri menetelmällä: funktio ja silmukat ja, euklidinen algoritmi
Tämän esimerkin ymmärtämiseksi sinulla on oltava tieto seuraavista Python-ohjelmointiaiheista:
- Python-toiminnot
- Python-rekursio
- Python-funktion argumentit
Kahden numeron suurin yhteinen kerroin (HCF) tai suurin yhteinen jakaja (GCD) on suurin positiivinen kokonaisluku, joka jakaa täydellisesti nämä kaksi lukua. Esimerkiksi 12 ja 14 HCF on 2.
Lähdekoodi: Silmukoiden käyttö
# Python program to find H.C.F of two numbers # define a function def compute_hcf(x, y): # choose the smaller number if x> y: smaller = y else: smaller = x for i in range(1, smaller+1): if((x % i == 0) and (y % i == 0)): hcf = i return hcf num1 = 54 num2 = 24 print("The H.C.F. is", compute_hcf(num1, num2))
Tuotos
HCF on 6
Tässä muuttujiin num1 ja num2 tallennetut kokonaisluvut välitetään compute_hcf()
funktiolle. Funktio laskee nämä kaksi lukua ja palauttaa sen.
Funktiossa määritetään ensin pienempi kahdesta luvusta, koska HCF voi olla vain pienempi tai yhtä suuri kuin pienin luku. Sitten käytämme for
silmukkaa siirtyäksesi 1: stä tähän numeroon.
Jokaisessa iteraatiossa tarkistamme, jakaako numeromme täydellisesti molemmat syötetyt numerot. Jos näin on, tallennamme numeron HCF: nä. Kun silmukka on valmis, päädymme suurimpaan lukuun, joka jakaa täydellisesti molemmat numerot.
Yllä oleva menetelmä on helppo ymmärtää ja toteuttaa, mutta ei tehokas. Paljon tehokkaampi menetelmä HCF: n löytämiseksi on euklidinen algoritmi.
Euklidinen algoritmi
Tämä algoritmi perustuu siihen, että kahden luvun HCF jakaa myös niiden eron.
Tässä algoritmissa jaamme suuremman pienemmällä ja otamme loput. Jaa nyt pienempi tällä jäljellä olevalla. Toista, kunnes loppuosa on 0.
Esimerkiksi, jos haluamme löytää HCF: n 54 ja 24, jaamme 54 luvulla 24. Loput ovat 6. Nyt jaamme 24 6: lla ja loput on 0. Siksi 6 on vaadittu HCF
Lähdekoodi: Euklidisen algoritmin käyttö
# Function to find HCF the Using Euclidian algorithm def compute_hcf(x, y): while(y): x, y = y, x % y return x hcf = compute_hcf(300, 400) print("The HCF is", hcf)
Tässä silmukoidaan, kunnes y on nolla. Lause x, y = y, x % y
vaihtaa arvoja Pythonissa. Napsauttamalla tätä saat lisätietoja muuttujien vaihtamisesta Pythonissa.
Kussakin iteraatiossa sijoitamme y: n arvon x: ään ja loput (x % y)
y: hen samanaikaisesti. Kun y: stä tulee nolla, HCF on x: ssä.