이전 게시글 : [Python 유클리드 호제법] 최대 공약수, 최대 공배수 구하기 :: 코딩 연구소 (tistory.com)
💡 이전 게시글 코드
def gcd(a, b):
while b > 0:
a, b = b, a % b
return a
print (gcd(12, 6))
print (gcd(24, 12))
print (gcd(14, 4))
# 출력 결과 6, 12, 2
💡 재귀 함수 적용 코드
def gcd(a, b):
if b > 0:
gcd(b, a % b)
else:
return a
print (gcd(12, 6))
print (gcd(24, 12))
print (gcd(14, 4))
재귀함수 적용 전 코드는 while loop 조건이 b > 0 큰 경우이다.
재귀함수를 적용하더라도 조건은 크게 달라지지 않는다.
그렇기 때문에 gcd (최대공약수) 함수를 반복 호출하게 하면된다.
[Python 업다운, Up & Down] 파이썬을 활용한 업 다운 게임 (0) | 2022.03.30 |
---|---|
[Python 팩토리얼] 팩토리얼 코드 개선 및 재귀함수 적용 전과 적용 후 (0) | 2022.02.13 |
[Python 유클리드 호제법] 최대 공약수, 최대 공배수 구하기 (0) | 2022.02.11 |
[Python 재귀 알고리즘] 팩토리얼 구하기 (0) | 2022.02.11 |
[Python 오름차순 정렬] Sort 함수 사용하지 않고 정렬하기 (0) | 2022.02.02 |