java辗除法求最大公约数和最小公倍数

KLQ 2020-05-21 10:15:26 java常见问答 3547

你知道辗除法吗?下面一起来看看java利用辗除法如何求出最大的公约数和最小的公倍数吧!

一、题目

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

二、思路

那么下面我们可以利用辗除法来对这道题目进行解答

三、代码实现

public class Prog6
{
    public static void main(String[] args)
    {
        int m, n;
        try
        {
            m = Integer.parseInt(args[0]);
            n = Integer.parseInt(args[1]);
        }
        catch (ArrayIndexOutOfBoundsException e)
        {
            System.out.println("输入有误");
            return;
        }
        max_min(m, n);
    }
    //求最大公约数和最小公倍数
    private static void max_min(int m, int n)
    {
        int temp = 1;
        int yshu = 1;
        int bshu = m * n;
        if (n < m)
        {
            temp = n;
            n = m;
            m = temp;
        }
        while (m != 0)
        {
            temp = n % m;
            n = m;
            m = temp;
        }
        yshu = n;
        bshu /= n;
        System.out.println(m + "和" + n + "的最大公约数为" + yshu);
        System.out.println(m + "和" + n + "的最小公倍数为" + bshu);
    }
}

四、什么是辗除法

欧几里德算法又被叫做是辗转相除法,它指的是用来计算两个正整数a,b的最大公约数。

应用领域有数学和计算机两个方面

计算公式gcd(a,b) = gcd(b,a mod b)

欧几里德算法和扩展欧几里德算法能够用多种编程语言来实现

以上就是今天给大家带来的基础编程题了,你会了吗?

更多java编程题,欢迎继续关注奇Q工具网的java实例栏目来了解哦。

推荐阅读:

输出这个月共有多少天java如何实现?

java入门程序编程题分享,打印学生考试等级

java条件运算符的嵌套使用