📜  用于查找LCM的Python程序

📅  最后修改于: 2020-09-20 16:35:46             🧑  作者: Mango

在此程序中,您将学习找到两个数字的LCM并显示它。

两个数字的最小公倍数(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))

输出

The L.C.M. is 216

注意:要测试该程序,请更改num1num2的值。

该程序分别在num1num2存储两个数字。这些数字将传递给compute_lcm() 函数。该函数返回两个数字的LCM。

在函数,我们首先确定两个数字中的较大者,因为LCM只能大于或等于最大数字。然后,我们使用无限的while循环从该数字开始。

在每次迭代中,我们检查两个数字是否完美地除以我们的数字。如果是这样,我们将数字存储为LCM并退出循环。否则,数字将增加1,然后循环继续。

上面的程序运行较慢。我们可以利用两个数的乘积等于这两个数的最小公倍数和最大公除数的乘积来提高效率。

Number1 * Number2 = L.C.M. * G.C.D.

这是一个实现此目的的Python程序。

使用GCD计算LCM的程序

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

单击此处以了解有关在Python计算GCD的方法的更多信息。