Program Python na vyhľadanie LCM

V tomto programe sa naučíte nájsť LCM dvoch čísel a zobraziť ich.

Aby ste pochopili tento príklad, mali by ste mať znalosti nasledujúcich tém programovania v jazyku Python:

  • Python while Loop
  • Pythonove funkcie
  • Argumenty funkcie Python
  • Užívateľom definované funkcie v jazyku Python

Najmenší spoločný násobok (LCM) dvoch čísel je najmenšie kladné celé číslo, ktoré je dokonale deliteľné dvoma danými číslami.

Napríklad LCM 12 a 14 je 84.

Program na výpočet 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))

Výkon

 LCM je 216 

Poznámka: Ak chcete tento program otestovať, zmeňte hodnoty num1a num2.

Tento program ukladá dve čísla num1a num2príslušne. Tieto čísla sa odovzdajú compute_lcm()funkcii. Funkcia vráti LCM dvoch čísel.

Vo funkcii najskôr určíme väčšie z dvoch čísel, pretože LCM môže byť iba väčšie alebo rovné najväčšiemu číslu. Potom použijeme nekonečnú whileslučku, aby sme prešli od tohto čísla a ďalej.

V každej iterácii kontrolujeme, či obe čísla dokonale rozdeľujú naše číslo. Ak je to tak, uložíme číslo ako LCM a vylomíme ho zo slučky. V opačnom prípade sa číslo zvýši o 1 a slučka pokračuje.

Vyššie uvedený program sa spúšťa pomalšie. Môžeme to zefektívniť využitím skutočnosti, že súčin dvoch čísel sa rovná súčinu najmenšieho spoločného násobku a najväčšieho spoločného deliteľa týchto dvoch čísel.

 Number1 * Number2 = LCM * GCD 

Toto je program Python, ktorý to implementuje.

Program na výpočet LCM pomocou GCD

 # 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)) 

Výstup tohto programu je rovnaký ako predtým. Máme dve funkcie compute_gcd()a compute_lcm(). Na výpočet LCM požadujeme GCD čísel

Preto compute_lcm()volá funkciu, compute_gcd()aby sa to dosiahlo. GCD dvoch čísel je možné efektívne vypočítať pomocou euklidovského algoritmu.

Kliknite sem a dozviete sa viac o metódach výpočtu GCD v Pythone.

Zaujímavé články...