쉬움 0명 해결 정답률 0%

Least Common Multiple

Find the smallest positive number divisible by both values.

배우게 될 내용

  • Compute the LCM from the GCD
  • Avoid overflow by dividing before multiplying
  • Reuse one function inside another

문제

번역본 보기

Return the least common multiple of a and b, the smallest positive number that both divide. lcm(a, b) = a / gcd(a, b) × b.

Implement lcm(a, b).

Input

a: The first positive number. b: The second positive number.

Output

Return lcm(a, b).

제약 조건

1 ≤ a, b ≤ 1,000,000,000

예시

예시 1
입력:
a = 4
b = 6

예상 출력:
expected = 12
입력:
long long a = 4;
long long b = 6;

예상 출력:
long long expected = 12;
입력:
long a = 4;
long b = 6;

예상 출력:
long expected = 12;

설명

Multiples of 4: 4, 8, 12…; multiples of 6: 6, 12…; the first common one is 12.

예시 2
입력:
a = 7
b = 7

예상 출력:
expected = 7
입력:
long long a = 7;
long long b = 7;

예상 출력:
long long expected = 7;
입력:
long a = 7;
long b = 7;

예상 출력:
long expected = 7;

설명

A number's LCM with itself is the number: 7.

접근 방법

먼저 스스로 풀어 본 뒤 힌트를 하나씩 열어 보세요.

힌트 1

Use the relationship between gcd and lcm instead of searching for multiples.

힌트 2

Compute the gcd first, then combine the two numbers carefully.

힌트 3

Divide before multiplying to reduce overflow risk, even with large inputs.

예상 복잡도

O(log min(a, b)) time, O(1) extra space

참고 자료

이 문제는 CodeUtility에 맞게 수정되었습니다. 위의 설명과 제한 조건을 따르세요.

다른 사람의 풀이 보기

커뮤니티 솔루션

아직 공개된 풀이가 없습니다. 문제를 풀고 첫 풀이를 공유하세요.