辗转相除法 求最大公因数 Java

原版

import java.util.Scanner;
public class studying {
    private static int euclid(int a,int b){
        while(b!=0){
            int r=a%b;
            a=b;
            b=r;
        }
        return a;
    }
    public static void main(String[] args) {
        Scanner input=new Scanner(System.in);
        int a=input.nextInt(),b=input.nextInt();
        System.out.println(euclid(a,b));
    }
}

函数递归调用版本

import java.util.Scanner;
public class studying {
    private static int euclid(int a,int b){
        if(a%b==0)
            return b;
        return euclid(b,a%b);
    }
    public static void main(String[] args) {
        Scanner input=new Scanner(System.in);
        int a=input.nextInt(),b=input.nextInt();
        System.out.println(euclid(a,b));
    }
}

猜你喜欢

转载自blog.csdn.net/weixin_62264287/article/details/125929628