Python-ohjelma LCM: n löytämiseksi

Tässä ohjelmassa opit etsimään kahden numeron LCM: n ja näyttämään sen.

Tämän esimerkin ymmärtämiseksi sinulla on oltava tieto seuraavista Python-ohjelmointiaiheista:

  • Python kun silmukka
  • Python-toiminnot
  • Python-funktion argumentit
  • Python-käyttäjän määrittelemät toiminnot

Kahden luvun pienin yhteinen moninkertainen (LCM) on pienin positiivinen kokonaisluku, joka on täysin jaettavissa kahdella annetulla luvulla.

Esimerkiksi 12 ja 14 LCM on 84.

Ohjelma laskea LCM

 # Python Program to find the L.C.M. of two input number def compute_lcm(x, y): # choose the greater number if x> y: greater = x else: greater = y while(True): if((greater % x == 0) and (greater % y == 0)): lcm = greater break greater += 1 return lcm num1 = 54 num2 = 24 print("The L.C.M. is", compute_lcm(num1, num2))

Tuotos

 LCM on 216 

Huomaa: Testaa tätä ohjelmaa muuttamalla arvot num1ja num2.

Tämä ohjelma tallentaa kaksi numeroa num1ja num2vastaavasti. Nämä numerot välitetään compute_lcm()funktiolle. Funktio palauttaa kahden numeron LCM: n.

Funktiossa määritetään ensin suurempi kahdesta luvusta, koska LCM voi olla vain suurempi tai yhtä suuri kuin suurin luku. Sitten käytämme ääretöntä whilesilmukkaa siirtyäksesi tästä numerosta ja pidemmälle.

Jokaisessa iteraatiossa tarkistamme, jakavatko molemmat luvut täydellisesti numeromme. Jos näin on, tallennamme numeron LCM: ksi ja irrotamme silmukasta. Muussa tapauksessa lukua lisätään yhdellä ja silmukka jatkuu.

Yllä olevaa ohjelmaa suoritetaan hitaammin. Voimme tehdä siitä tehokkaamman käyttämällä tosiasiaa, että kahden luvun tulo on yhtä suuri kuin näiden kahden luvun vähiten yhteisen moninkertaisen ja suurimman yhteisen jakajan tulo.

 Luku1 * Luku2 = LCM * GCD 

Tässä on Python-ohjelma tämän toteuttamiseksi.

Ohjelma laskea LCM käyttämällä GCD: tä

 # Python program to find the L.C.M. of two input number # This function computes GCD def compute_gcd(x, y): while(y): x, y = y, x % y return x # This function computes LCM def compute_lcm(x, y): lcm = (x*y)//compute_gcd(x,y) return lcm num1 = 54 num2 = 24 print("The L.C.M. is", compute_lcm(num1, num2)) 

Tämän ohjelman tulos on sama kuin aiemmin. Meillä on kaksi tehtävää compute_gcd()ja compute_lcm(). Vaadimme lukujen GCD: tä laskemaan sen LCM

Joten compute_lcm()kutsuu toiminnon compute_gcd()tämän saavuttamiseksi. Kahden numeron GCD voidaan laskea tehokkaasti käyttämällä euklidista algoritmia.

Napsauttamalla tätä saat lisätietoja menetelmistä laskea GCD Pythonissa.

Mielenkiintoisia artikkeleita...