21xrx.com
2024-11-08 22:16:35 Friday
登录
文章检索 我的文章 写文章
Java中求最大公约数和最小公倍数的方法及应用
2023-06-11 14:58:41 深夜i     --     --
Java 最大公约数 最小公倍数

在Java编程中,求最大公约数和最小公倍数是非常常见和基本的问题。这里介绍两种常见的求解方法。

方法一:辗转相除法

辗转相除法是求最大公约数的经典方法。其基本思路是:对于两个正整数a和b(a>b),有a=b×q+r,其中q和r分别是a除以b的商和余数。如果r等于0,则a和b的最大公约数就是b。否则,将b赋值给a,将r赋值给b,然后使用相同的方法计算a和b的最大公约数。重复执行这个过程,直到r等于0为止。

最小公倍数的计算可以利用最大公约数求解,即最小公倍数等于两个数的乘积除以它们的最大公约数。

方法二:BigInteger类的gcd()和lcm()方法

除了上述基本方法外,我们还可以使用Java中提供的BigInteger类的gcd()和lcm()方法。其中,gcd()方法可用于求解两个BigInteger数的最大公约数,lcm()方法则可用于求解两个BigInteger数的最小公倍数。

代码示例:

import java.math.BigInteger;

public class GcdAndLcm {

  public static void main(String[] args) {

    BigInteger a = new BigInteger("24");

    BigInteger b = new BigInteger("36");

    System.out.println("a和b的最大公约数为:" + a.gcd(b));

    System.out.println("a和b的最小公倍数为:" + a.multiply(b).divide(a.gcd(b)));

  }

}

  
  

评论区

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