利用Java如何实现求出两个正整数的最大公约数和最小公倍数

利用Java如何实现求出两个正整数的最大公约数和最小公倍数?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

题目:输入两个正整数m和n,求其最大公约数和最小公倍数。

程序分析:利用辗除法。

最大公约数:

public class CommonDivisor{
  public static void main(String args[])
  {
    commonDivisor(24,32);
  }
  static int commonDivisor(int M, int N)
  {
    if(N<0||M<0)
    {
      System.out.println("ERROR!");
      return -1;
    }
    if(N==0)
    {
      System.out.println("the biggest common divisor is :"+M);
      return M;
    }
    return commonDivisor(N,M%N);
  }
}

最小公倍数和最大公约数:

import java.util.Scanner;
public class CandC
{
  //下面的方法是求出最大公约数
  public static int gcd(int m, int n)
  {
    while (true)
    {
      if ((m = m % n) == 0)
        return n;
      if ((n = n % m) == 0)
        return m;
    }
  }
  public static void main(String args[]) throws Exception
  {
    //取得输入值
    //Scanner chin = new Scanner(System.in);
    //int a = chin.nextInt(), b = chin.nextInt();
    int a=23; int b=32;
    int c = gcd(a, b);
    System.out.println("最小公倍数:" + a * b / c + "\n最大公约数:" + c);
  }
}

看完上述内容,你们掌握利用Java如何实现求出两个正整数的最大公约数和最小公倍数的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注行业资讯频道,感谢各位的阅读!