Menu
CoddyTech

Greatest Common Divisor

양의 정수 a와 b가 주어집니다. 두 수를 모두 나머지 없이 나누는 가장 큰 정수인 최대공약수를 반환하세요.

예를 들어, 8과 12를 모두 나누는 수는 1, 2, 4이므로 답은 4입니다.

함수

gcd(a: integer, b: integer) → integer
ainteger
첫 번째 양의 정수
binteger
두 번째 양의 정수
반환값integer
a와 b를 모두 나누는 가장 큰 정수

제약 조건

  • 1 ≤ a ≤ 109
  • 1 ≤ b ≤ 109

예제

입력
a = 12b = 18
출력
6
설명
12의 약수는 1, 2, 3, 4, 6, 12이고, 18의 약수는 1, 2, 3, 6, 9, 18입니다. 두 목록에서 가장 큰 수는 6입니다.

lock icon제출 시 숨은 테스트 +14개

challenge icon

후속 질문

유클리드 알고리즘을 확장하여 a × x + b × y = gcd(a, b)를 만족하는 정수 x와 y도 반환할 수 있나요?

코드 초기화
def gcd(a, b):
    # 여기에 코드를 작성하세요
테스트 케이스

케이스 1

케이스 2

케이스 3

입력

a = 12
b = 18

기대값

6