V tomto programu se naučíte najít LCM dvou čísel a zobrazit je.
Abychom porozuměli tomuto příkladu, měli byste znát následující témata programování v Pythonu:
- Python while Loop
- Funkce Pythonu
- Argumenty funkce Pythonu
- Uživatelem definované funkce Pythonu
Nejmenší společný násobek (LCM) dvou čísel je nejmenší kladné celé číslo, které je dokonale dělitelné dvěma danými čísly.
Například LCM 12 a 14 je 84.
Program pro 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ýstup
LCM je 216
Poznámka: Chcete-li tento program otestovat, změňte hodnoty num1
a num2
.
Tento program ukládá dvě čísla num1
a num2
příslušně. Tato čísla jsou předána compute_lcm()
funkci. Funkce vrací LCM dvou čísel.
Ve funkci nejprve určíme větší ze dvou čísel, protože LCM může být větší nebo rovno největšímu číslu. Potom použijeme nekonečnou while
smyčku k přechodu z tohoto čísla a dále.
V každé iteraci kontrolujeme, zda obě čísla dokonale rozdělují naše číslo. Pokud ano, uložíme číslo jako LCM a vylomíme jej ze smyčky. V opačném případě se číslo zvýší o 1 a smyčka pokračuje.
Výše uvedený program běží pomaleji. Můžeme to zefektivnit použitím skutečnosti, že součin dvou čísel se rovná součinu nejméně společného násobku a největšího společného dělitele těchto dvou čísel.
Number1 * Number2 = LCM * GCD
Zde je program Python, který to implementuje.
Program pro výpočet LCM pomocí 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 tohoto programu je stejný jako dříve. Máme dvě funkce compute_gcd()
a compute_lcm()
. K výpočtu LCM požadujeme GCD čísel
Takže, compute_lcm()
volá funkci compute_gcd()
, jak toho dosáhnout. GCD dvou čísel lze efektivně vypočítat pomocí euklidovského algoritmu.
Kliknutím sem se dozvíte více o metodách výpočtu GCD v Pythonu.