import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.*;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int n = Integer.parseInt(br.readLine());
for (int i = 0; i < n; i++) {
StringTokenizer st = new StringTokenizer(br.readLine());
int a = Integer.parseInt(st.nextToken());
int b = Integer.parseInt(st.nextToken());
int gg = gcd(a, b);
System.out.println(a * b / gg);
}
}
public static int gcd(int a, int b) // 18 ,24
{
while(b!=0)
{
int temp = b; // temp = 24 temp = 18 temp = 6
b = a % b; // b = 18 b = 6 b = 0
a = temp; // a = 24 a = 18 a = 6
}
return a;
}
}
최소공배수 구하는 문제였다. 나는 브루트포스로 풀려했는데 시간이 너무 오래걸려 풀리지 않았다. 그래서 지피티한테 물어보니 최소공배수를 구하려면 최대공약수를 구하고서 답을 도출하는게 좋은 방식이라고 알려주었다. 그래서 최대공약수를 구하려면 사람들이 많이들 메서드를 사용한다고 알려주었다. 메서드의 이름은 대체적으로 gcd라고한다.
공식은 int temp=b; b = a%b; a = temp;
이런 느낌이였다. 이거는 공식을 외우는게 좋다고 생각한다. 그래서 이건 앞으로 3일동안 계속 보면서 외울 예정이다.
PS. 오늘 첫 동아리 회의였는데 피곤하다 ㅜㅜ