21xrx.com
2024-11-22 13:34:39 Friday
登录
文章检索 我的文章 写文章
Java中简便的求最大公约数和最小公倍数方法
2023-06-13 00:13:23 深夜i     --     --
Java 最大公约数 最小公倍数

在Java中,有多种方法可以求最大公约数和最小公倍数。下面介绍的是两种简单便捷的实现方法。

方法一:使用Java内置函数

Java里面已经有内置的求最大公约数和最小公倍数的函数。我们只需要直接调用即可。


int a = 36;

int b = 48;

int gcd = java.math.BigInteger.valueOf(a).gcd(java.math.BigInteger.valueOf(b)).intValue();

int lcm = a * b / gcd;

其中,BigIntger.valueOf()函数用于将int类型转换为BigInteger类型,gcd()函数用于求最大公约数,intValue()函数用于将结果转换为int类型,最后一个lcm的求法是通过a、b的乘积除以它们的最大公约数。

方法二:自己实现算法

如果不想使用内置函数,我们还可以自己实现算法。最大公约数和最小公倍数的算法都可以同样地实现。这里给出求最大公约数的代码例子。


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

  if (b == 0)

    return a;

  

  return gcd(b, a % b);

}

在这个函数中,我们使用了递归,直到b为0时,返回a。否则,递归执行gcd(b, a % b),直到b=0为止。

最小公倍数的算法可以用以下公式计算得到:lcm(a, b) = a * b / gcd(a, b)。

三个

  
  

评论区

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