21xrx.com
2024-09-20 05:44:37 Friday
登录
文章检索 我的文章 写文章
Java中求最大公约数和最小公倍数的实现
2023-06-19 21:50:02 深夜i     --     --
Java

在Java编程中,我们经常需要求解两个数的最大公约数或最小公倍数。这里介绍一种常见的实现方法。

对于最大公约数,我们可以采用辗转相除法(又称欧几里得算法)。基本思路是:用较大数除以较小数,得到余数;然后用除数除以余数,再得到余数;以此类推,直到余数为0时,则最后的除数即为最大公约数。

代码实现如下:


public class GCD {

  public static int gcd(int a, int b) {

    if (b == 0) return a;

    return gcd(b, a % b);

  }

}

对于最小公倍数,可以用最大公约数来求解,即两数的乘积除以它们的最大公约数。

代码实现如下:


public class LCM {

  public static int lcm(int a, int b) {

    return a * b / GCD.gcd(a, b);

  }

}

在实际应用中,我们可以将这两段代码封装为工具类,并加上对输入参数的异常处理等完善。

最大公约数, 最小公倍数

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复