📜  TCS 编码练习题 | 2个数字的LCM(1)

📅  最后修改于: 2023-12-03 14:47:52.993000             🧑  作者: Mango

TCS 编码练习题 | 2个数字的LCM

简介

本篇文章将介绍 TCS 编码练习题中的一个题目,题目要求实现一个函数,计算给定两个数字的最小公倍数 (LCM)。

题目描述

给定两个正整数 num1num2,编写一个函数 lcm(num1, num2),计算并返回它们的最小公倍数。

例子

输入:

num1 = 12
num2 = 8

输出:

24

输入:

num1 = 5
num2 = 7

输出:

35
算法思路

最小公倍数 (LCM) 是两个数的公共倍数中最小的那个数。我们可以使用以下公式来计算 num1num2 的最小公倍数:

LCM = (num1 * num2) / GCD(num1, num2)

其中 GCD 表示 num1num2 的最大公约数。

我们可以通过求解 num1num2 的最大公约数来计算最小公倍数。一种常见的方法是使用欧几里德算法,该算法递归地计算两个数的最大公约数。

代码实现

以下是一个使用 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)
测试案例
测试案例 1

输入:

num1 = 12
num2 = 8

输出:

24
测试案例 2

输入:

num1 = 5
num2 = 7

输出:

35
总结

本篇文章介绍了 TCS 编码练习题中的一个题目,要求实现一个函数计算两个数字的最小公倍数。算法思路采用欧几里德算法来计算最大公约数,并利用最大公约数计算最小公倍数。通过上述代码实现和测试案例,我们可以得出正确的最小公倍数计算结果。