三种方法求最大公约数GCD及求最小公倍数LCM

使用三种方法求最大公约数

1.辗转相除法

//辗转相除法求最大公约数
    public static void zhanzuanGCD(int x,int y){
        int small=x;
        int big=y;
        //为两个整数比较大小并将大的一个赋予big小的赋予small
        if (big<small){
            int t=big;big=small;small=t;
            }

        int t;
        //辗转相除法
        while(small!=0){
            t=big;
            big=small;
            small=t%big;
        }
        System.out.println("辗转相除法所求的的最大公约数为"+big);
        System.out.println("最大公倍数为"+(x*y/big));
        }

2.穷举法

//穷举法求最大公约数
    public static void qiongjufaGCD(int x,int y){
        int small=x;
        int big=y;
        int t2;
        //为两个整数比较大小并将大的一个赋予big小的赋予small
        if (big<small){
             t2=big;big=small;small=t2;
            }
        //穷举法
        for(t2=small;t2>0;t2--){
            if((big%t2)==0&&(small%t2)==0)
                break;
        }
             System.out.println("穷举法所求的的最大公约数为"+t2);
                 System.out.println("最大公倍数为"+(x*y/t2));

    }

3.相减法

//相减法求最大公约数
    public static void xiangjianfaGCD(int x,int y){
        int small=x;
        int t1;
        int big=y;
        if (big<small){
             t1=big;big=small;small=t1;
            }
         while(big-small!= 0){
             if(big>small)  
                {  
                    big=big-small;  
                }  
                else  
                {  
                    small=small-big;  
                }  
        }
         System.out.println("相减法法所求的的最大公约数为"+small);
         System.out.println("最大公倍数为"+(x*y/big));
        }

4.最小公倍数,在已知最大公约数的情况下可用两数之积除以最大公约数极为最小公倍数

猜你喜欢

转载自blog.csdn.net/weixin_43083695/article/details/82532250