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 |
댓글