在此程序中,您将学习找到两个数字的LCM并显示它。
要理解此示例,您应该了解以下Python编程主题:
两个数字的最小公倍数(LCM)是可被两个给定数字完全整除的最小正整数。
例如,LCM为12和14为84。
# 用Python程序求两个输入数字的L.C.M. def compute_lcm(x, y): # 选择较大的数字 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("L.C.M.是", compute_lcm(num1, num2))
输出结果
L.C.M.是 216
注:为了测试这个程序,可以修改num1和num2的值。
该程序分别在num1和num2中存储两个数字。这些数字将传递给compute_lcm()函数。该函数返回两个数字的LCM。
在函数中,我们首先确定两个数字中的较大者,因为L.C.M. 只能大于或等于最大数。 然后,我们使用无限的while循环从该数字开始。
在每次迭代中,我们检查两个数字是否完美地除以我们的数字。如果是这样,我们将数字存储为LCM并退出循环。否则,数字将增加1,然后循环继续。
上面的程序运行较慢。我们可以利用两个数的乘积等于这两个数的最小公倍数和最大公除数的乘积来提高效率。
Number1 * Number2 = L.C.M. * G.C.D.
这是一个实现此目的的Python程序。
# 用Python程序求两个输入数字的L.C.M. # This function computes GCD def compute_gcd(x, y): while(y): x, y = y, x % y return x # 这个函数计算LCM def compute_lcm(x, y): lcm = (x*y)//compute_gcd(x,y) return lcm num1 = 54 num2 = 24 print("L.C.M.是", compute_lcm(num1, num2))
该程序的输出与以前相同。 我们有两个函数compute_gcd()和compute_lcm()。 我们需要G.C.D. 的数字以计算其L.C.M.
因此,compute_lcm()调用函数compute_gcd()来完成此操作。 G.C.D. 使用欧几里得算法可以有效地计算出两个数之和。
单击此处以了解有关在Python中计算GCD的方法的更多信息。