查找 LCM(最小公倍数)的Python程序

2022-05-03 00:00:00 程序 查找 最小公倍数

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

要理解此示例,您应该了解以下Python 编程主题:

两个数的最小公倍数 (LCM) 是可以被两个给定数完全整除的最小正整数。

例如 12 和 14 的 LCM 为 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))

输出

最小公倍数是:216

注意:要测试此程序,请更改 和 的num1值num2。

num1该程序分别在和中存储两个数字num2。这些数字被传递给compute_lcm()函数。该函数返回两个数字的 LCM。

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

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

上述程序运行速度较慢。我们可以通过使用两个数字的乘积等于这两个数字的最小公倍数和最大公约数的乘积来提高效率。

编号 1 * 编号 2 = LCM * GCD
这是一个实现这一点的 Python 程序。

使用 GCD 计算 LCM 的程序

# Python程序查找两个数的最小公倍数

# 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 的方法的更多信息。

相关文章