Програма Python за намиране на LCM

В тази програма ще се научите да намирате 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.

Интересни статии...