В тази програма ще се научите да намирате LCM на две числа и да го показвате.
За да разберете този пример, трябва да имате познанията по следните теми за програмиране на Python:
- Python докато Loop
- Функции на Python
- Аргументи на функцията на Python
- Функции, дефинирани от потребителя на Python
Най-малкото общо кратно (LCM) на две числа е най-малкото положително цяло число, което е напълно делимо на двете дадени числа.
Например LCM на 12 и 14 е 84.
Програма за изчисляване на 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))
Изход
LCM е 216
Забележка: За да тествате тази програма, променете стойностите на num1
и num2
.
Тази програма съхранява два номера в num1
и num2
съответно. Тези числа се предават на compute_lcm()
функцията. Функцията връща LCM на две числа.
Във функцията първо определяме по-голямото от двете числа, тъй като LCM може да бъде само по-голямо или равно на най-голямото число. След това използваме безкраен while
цикъл, за да преминем от това число и след това.
Във всяка итерация проверяваме дали и двете числа перфектно разделят нашия номер. Ако е така, съхраняваме числото като LCM и прекъсваме цикъла. В противен случай числото се увеличава с 1 и цикълът продължава.
Горната програма се изпълнява по-бавно. Можем да го направим по-ефективен, като използваме факта, че произведението на две числа е равно на произведението на най-малкото общо кратно и най-голямото общо делител на тези две числа.
Number1 * Number2 = LCM * GCD
Ето програма за Python, която да приложи това.
Програма за изчисляване на LCM с помощта на 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))
Резултатът от тази програма е същият както преди. Имаме две функции compute_gcd()
и compute_lcm()
. Изискваме GCD на числата, за да изчислим неговия LCM
И така, compute_lcm()
извиква функцията, за compute_gcd()
да постигне това. GCD от две числа може да се изчисли ефективно с помощта на евклидовия алгоритъм.
Щракнете тук, за да научите повече за методите за изчисляване на GCD в Python.