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 num1
a num2
.
Tento program ukladá dve čísla num1
a num2
prí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ú while
sluč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.