📅  最后修改于: 2023-12-03 14:47:52.993000             🧑  作者: Mango
本篇文章将介绍 TCS 编码练习题中的一个题目,题目要求实现一个函数,计算给定两个数字的最小公倍数 (LCM)。
给定两个正整数 num1
和 num2
,编写一个函数 lcm(num1, num2)
,计算并返回它们的最小公倍数。
输入:
num1 = 12
num2 = 8
输出:
24
输入:
num1 = 5
num2 = 7
输出:
35
最小公倍数 (LCM) 是两个数的公共倍数中最小的那个数。我们可以使用以下公式来计算 num1
和 num2
的最小公倍数:
LCM = (num1 * num2) / GCD(num1, num2)
其中 GCD
表示 num1
和 num2
的最大公约数。
我们可以通过求解 num1
和 num2
的最大公约数来计算最小公倍数。一种常见的方法是使用欧几里德算法,该算法递归地计算两个数的最大公约数。
以下是一个使用 Python 编写的函数 lcm
的示例实现:
def gcd(a, b):
while b != 0:
a, b = b, a % b
return a
def lcm(num1, num2):
return (num1 * num2) // gcd(num1, num2)
输入:
num1 = 12
num2 = 8
输出:
24
输入:
num1 = 5
num2 = 7
输出:
35
本篇文章介绍了 TCS 编码练习题中的一个题目,要求实现一个函数计算两个数字的最小公倍数。算法思路采用欧几里德算法来计算最大公约数,并利用最大公约数计算最小公倍数。通过上述代码实现和测试案例,我们可以得出正确的最小公倍数计算结果。