利用辗转相除法求最大公约数以及最小公倍数-Java

时间:2022-07-25
本文章向大家介绍利用辗转相除法求最大公约数以及最小公倍数-Java,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

思路

利用辗转相除法先求得 最大公约数,继而通过两数的乘积除以最大公约数,得到最小公倍数。

/**
 * description: 使用辗转相除法求最小公倍数  和 最大公约数
 */
public class gcd {
    public static void calculate(int input1,int input2){
        if (input1==0 || input2 ==0) return;
        int bigDivsior=0;//定义最大公约数
        int multiple=input1*input2;//定义最小公倍数,方便计算
        int temp=1;//用于临时存储的变量
        //保证input1 大于 input2
        if (input1<input2){
            temp = input1;
            input1 = input2;
            input2 = temp;
        }
        //辗转相除法
        while (temp!=0){
            temp = input1%input2;
            input1 = input2;
            bigDivsior = input2;
            input2 = temp;
        }
        multiple =multiple/bigDivsior;
        System.out.println("greatest common divisor is: "+bigDivsior+"n"
        +"least common multiple is: "+multiple);
    }
    public static void main(String[] args) {
        calculate(20,8);
    }
}
greatest common divisor is: 4
least common multiple is: 40