今天给大家分享一个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);
    }
}
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。