알고리즘 - 유클리드 호제법

김명식·2023년 5월 10일
0

알고리즘

목록 보기
14/14
post-thumbnail

유클리드 호제법 ( Euclidean algorithm )

이름은 엄청 어려워보이는데,
사실 그냥 재귀함수를 통해 최대공약수를 구하는 알고리즘이다.

코드는 굉장히 간단하다.

	static int gcd(int a, int b) {
        if ( b == 0 ) {
            return a;
        } else {
            return gcd(b, a % b);
        }
    }

a = 15 , b = 10 이라고 가정한 뒤
위 코드를 간단한 슈도코드로 디버깅해보겠다.

1. 
a = 15, b = 10,
b != 0, then gcd(10 , 15 % 10) => gcd(10, 5)

2. 
a = 10, b = 5,
b != 0 , then gcd(5, 10 % 5) => gcd(5, 0)

3.
a = 5, b = 0,
b == 0, then return a => 5 return, 

정답) 15와 10의 최대 공약수는 5다.
profile
BackEnd & AWS Developer

0개의 댓글