코딩테스트

[5347] LCM

Patti Smith 2024. 2. 20.
 

5347번: LCM

첫째 줄에 테스트 케이스의 개수 n이 주어진다. 다음 n개 줄에는 a와 b가 주어진다. a와 b사이에는 공백이 하나 이상 있다. 두 수는 백만보다 작거나 같은 자연수이다.

www.acmicpc.net

 

최소공약수를 구하는 유클리드 호제법은 할 때마다 까먹기 때문에 가끔 이렇게 복기해줄 필요가 있다고 생각한다.

 

유클리드 호제법

 

 

이때 최대공배수는 a와 b의 곱을 최대 공약수로 나눈 값이다.

 

유클리드 호제법으로 재귀를 이용해 최대 공약수를 구하는 코드는 다음과 같다.

 

#include <iostream>

using namespace std;

int main()
{
    int n;
    
    cin >> n;
    
    while(n--){
        int a, b;
        cin >> a >> b;
        
        int temp = a * b;
        
        while( b != 0 ){
            int temp = b;
            b = a % b;
            a = temp;
        }
        
        cout << temp / a << endl;
    
    }
    
    return 0;
}

'코딩테스트' 카테고리의 다른 글

미로 탈출  (0) 2024.02.22
특정 거리의 도시 찾기  (0) 2024.02.22
[20546] 기적의 매매법  (1) 2024.01.31
[이코테] 뱀  (0) 2024.01.26
[이코테] 무지의 먹방 라이브  (0) 2024.01.24

댓글