두 수의 공인 수 를 구 하 는 두 가지 방법 자바 실현
2763 단어 데이터 구조 자바 구현
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;
}