백준 1934 c++
#include <iostream>
//#include <algorithm>
using namespace std;
int input(int lower, int upper);
void input_2d_array(int** test_case, int col, int row);
void least_common_multiple(int** test_case, int col);
int euclidean_for_GCM(int A, int B);
int main(void)
{
ios_base::sync_with_stdio(false);
cin.tie(NULL);
cout.tie(NULL);
int T, A, B;
int i;
int** test_case;
T = input(1, 1000);
test_case = new int*[T];
for (i = 0; i < T; i++)
{
test_case[i] = new int[2];
}
input_2d_array(test_case, T, 2);
least_common_multiple(test_case, T);
for (i = 0; i < T; i++)
{
delete[] test_case[i];
}
delete[] test_case;
return 0;
}
int input(int lower, int upper)
{
int A;
while (1)
{
cin >> A;
if (A >= lower && A <= upper)
{
break;
}
else
{
;
}
}
return A;
}
void input_2d_array(int **test_case, int col, int row)
{
int i, j;
for (i = 0; i < col; i++)
{
for (j = 0; j < row; j++)
{
test_case[i][j] = input(1, 45000);
}
}
return;
}
void least_common_multiple(int** test_case, int col)
{
int i;
int GCM;
int A, B;
for (i = 0; i < col; i++)
{
A = test_case[i][0];
B = test_case[i][1];
GCM = euclidean_for_GCM(A, B);
cout << (A * B) / GCM << "\n";
}
return;
}
int euclidean_for_GCM(int A, int B)
{
int temp;
if(A < B)
{
temp = A;
A = B;
B = temp;
}
else
{
;
}
while (B != 0)
{
temp = A % B;
A = B;
B = temp;
}
return A;
}