최대공약수 구하는 알고리즘1
# 최대공약수 구하는 알고리즘
# 입력:a, b
#출력: a와 b의 최대공약수
def gcd(a, b):
i = min(a, b) # 두 수 중에서 최소값을 구하는 파이썬 함수
while True:
if a % i == 0 and b % i == 0: # 나누어 떨어지면 i로 리턴
return i
i = i - 1 # 나누어 떨어지지 않으면 -1 시켜서 나누어 떨어지는 수 찾음
print(gcd(3, 6))
print(gcd(60, 24))
실행 결과
최대공약수 구하는 알고리즘2
def gcd2(a, b):
if b == 0: # 종료 조건
return a
return gcd2(b, a % b) # 좀 더 작은 값으로 자기 자신을 호출
print(gcd2(3, 6))
print(gcd2(60, 24))
실행 결과
'개발 공부한 내용 정리 > Algorithm' 카테고리의 다른 글
Algorithm- 순차 탐색 (0) | 2020.08.13 |
---|---|
Algorithm- 하노이의 탑 알고리즘 (0) | 2020.08.12 |
algorithm- 팩토리얼 구하기와 재귀 호출 (0) | 2020.08.10 |
algorithm - 동명이인 찾기 (0) | 2020.08.08 |
알고리즘- 최대값 찾기 (0) | 2020.08.07 |