📜  无需使用GCD即可查找2个数字的LCM的程序(1)

📅  最后修改于: 2023-12-03 15:40:08.905000             🧑  作者: Mango

无需使用GCD即可查找2个数字的LCM的程序

在计算机科学中,LCM(最小公倍数)是两个或多个整数的最小公倍数。GCD(最大公约数)通常用于计算LCM。然而,你可以使用其他方法来查找两个数字的LCM。本文将介绍一种无需使用GCD即可查找2个数字的LCM的程序。

程序介绍

这个程序使用的是基于数学原理的方法,可以找到两个数字的LCM。这个方法称为“相乘除以最大公约数”法。该算法的基本思想是,先找到两个数的最大公约数,然后将这两个数字相乘,再除以它们的最大公约数。这将给出它们的LCM。

代码实现
func lcm(_ a: Int, _ b: Int) -> Int {
  let maxNum = max(a, b)
  let minNum = min(a, b)
  var lcm = maxNum
  
  while lcm % minNum != 0 {
    lcm += maxNum
  }
  
  return lcm
}
代码解析

这个函数接收两个整数作为输入,并返回它们的LCM。首先,我们找到两个数字中较大和较小的数字。然后,我们初始化LCM为较大的数字。

我们使用一个while循环来不断增加LCM,直到它可以被较小的数字整除为止。每一次循环,我们将LCM增加较大的数字,以确保LCM不断增加。

最后,我们返回LCM作为函数的输出。

总结

虽然GCD通常用于计算LCM,但这个相乘除以最大公约数的算法也是一种有效的方法。这个程序可以帮助你快速计算两个数字的LCM,并且不需要使用GCD。