알고리즘 (JAVA)

[코테준비 python] 유클리드 호제법, 재귀함수 - 개발자 배찌

개발자 배찌 2022. 11. 3. 21:15
728x90

유클리드 호제법 
: 두 자연수  A,B에 대하여 A를 B로 나눈 나머지를 R
이때 A,B의 최대공약수는 B와 R의 최대공약수와 같다.

대표적인 예제 : 두개의 자연수에 대한 최대공약수를 구하는 문제
(유클리드 호제법과 재귀함수* 이용)

def gcd(a,b):
if a%b == 0:
return b
else :
return gcd(b, a%b)

print(gcd(192,162))


* 재귀함수 -> 자기자신을 다시 호출하는 함수
종료조건을 반드시 명시하여 무한히 호출되지 않도록 해야함.

 >> DFS 알고리즘에서 자주 사용된다.