두 수의 공인 수 를 구 하 는 두 가지 방법 자바 실현

1. 방법 하 나 는 순환 적 으로 나머지 를 계산 하 는 것 이다.
    public static int gcd(int a,int b){

        while(b != 0){
            int temp = a % b;
            a = b;
            b = temp;
        }
        return a;

    }

2. 방법 2. 재 귀 실현.
    public static int gcd1(int a,int b){
        if(b == 0){
            return a;
        }
        if(a % 2 == 0 && b % 2 == 0){
            return 2*gcd1(a / 2,b/2);
        }
        if( a % 2 == 0 && b % 2 != 0){
            return gcd1(a/2,b);
        }
        if( a % 2 != 0 && b % 2 == 0){
            return gcd1(a,b/2);
        }
        if( a % 2 != 0 && b % 2 != 0){
            return gcd1((a+b)/2,(a-b)/2);
        }
        return 1;
    }

좋은 웹페이지 즐겨찾기