문제 › 048

048. 최대공약수 계산기

Easy 바이브코딩 MCPMathAlgorithm
문제 설명
[문제] 두 양의 정수의 최대공약수(GCD)와 최소공배수(LCM)를 계산하는 MCP 서버를 구현한다. 최대공약수(Greatest Common Divisor)는 두 수를 모두 나누어떨어지게 하는 가장 큰 정수다(예: 48과 18의 공약수는 1, 2, 3, 6이고 그중 최대는 6). 최소공배수(Least Common Multiple)는 두 수의 공통 배수 중 가장 작은 양의 정수다(예: 4와 6의 공배수는 12, 24, ...이고 그중 최소는 12). [구현할 함수] - gcd(a: int, b: int) -> int 두 양의 정수의 최대공약수를 정수로 돌려준다. - lcm(a: int, b: int) -> int 두 양의 정수의 최소공배수를 정수로 돌려준다. [입력·상태] 별도로 유지하는 상태는 없다. a, b는 양의 정수다. [제약] - 두 함수 모두 반환 타입은 정수다. - 관계식: lcm(a, b) = a * b / gcd(a, b). [힌트] 최대공약수는 유클리드 호제법으로 구할 수 있다(큰 수를 작은 수로 나눈 나머지로 반복). Python·C++·Java 모두 동일 알고리즘으로 구현 가능하다. [예시] gcd(10, 5) -> 5 gcd(48, 18) -> 6 lcm(4, 6) -> 12
로그인하고 풀기 AI가 자동 채점하고 즉시 정답·해설을 알려줘요. 무료.