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

来自:吾爱编程
时间:2021-03-27
阅读:

今天给大家分享一个java经典实例:输入两个正整数m和n,求其最大公约数和最小公倍数,接下来为大家介绍一下程序的写法,有需要的小伙伴可以参考一下:

1、程序需求:

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

2、程序分析:

    利用辗除法

3、程序代码:

    (1)、最大公约数

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);
    }
}
     (2)、最小公倍数和最大公约数
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);
    }
}
返回顶部
顶部