java

关注公众号 jb51net

关闭
首页 > 软件编程 > java > 最大公约数和最小公倍数

Java求两个正整数的最大公约数和最小公倍数

投稿:mdxy-dxy

这篇文章主要介绍了输入两个正整数m和n,求其最大公约数和最小公倍数,需要的朋友可以参考下

题目:输入两个正整数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);
  }
}

大家可以参考脚本之家以前发布的文章。

您可能感兴趣的文章:
阅读全文