두 종류의 부품을 각각 같은 크기의 묶음으로 나눠요. 어느 종류에서도 부품이 남으면 안 돼요. 묶음 크기는 cap 이하여야 해요. 가능한 묶음 크기 중 가장 큰 값을 구해요.
int solution(int first, int second, int cap)가 요구한 값을 반환하도록 빈칸을 채워 주세요.
매개변수와 반환값
first와 second는 각각 11,000인 부품 수예요. cap은 1100이에요. 반환값은 두 수를 모두 나누는 1~cap의 정수예요. measure는 두 수의 최대공약수를 반환해요.
예시
first=24, second=36, cap=8이면6를 반환해요. 공약수 중 8 이하의 가장 큰 값은 6이에요.first=18, second=30, cap=10이면6를 반환해요. 최대공약수 6이 상한 10 이하라 6을 사용해요.
실행용 입출력
한 줄에 first second cap을 입력해요. main은 입력을 매개변수로 바꾸고 반환값을 출력하는 채점 하네스예요. 풀이 대상은 solution과 제공된 보조 함수의 빈칸이에요.
예시 입력
24 36 8
예상 결과
6
예시 입력
18 30 10
예상 결과
6
핵심 개념
number-theory-basic: 몫과 나머지의 의미를 구분해요.function-design: 보조 함수의 인자와 반환 계약을 연결해요.loops: 다음 반복으로 이어지는 상태를 확인해요.