题目描述
输入两个正整数a和b,求出它们的最小公倍数c以及最大公约数d。
例如,输入a和b为20与44时,输出的c和d应该为220与4。
#include<iostream>
using namespace std;
int main()
{
int a, b;
cin >> a >> b;
int c = a * b;
int d = 0;
while (a != b)
{
if (a > b)
{
a = a - b;
}
else
{
b = b - a;
}
}
d = a;
c = c / d;
cout << c << " " << d << endl;
}
题目描述
有n(n <= 3)组数据,每组数据里有2个数,
分别求出每组数据中两个数的最大公约数和最小公倍数并输出。
#include<iostream>
#include<algorithm>
using namespace std;
int main()
{
int n;
int a[3] = { 0 };
int b[3] = { 0 };
cin >> n;
for (int i = 0; i < n; i++)
{
cin >> a[i] >> b[i];
int gcd = 0;
int lcm = a[i] * b[i];
while (a[i] != b[i])
{
if (a[i] > b[i])
{
a[i] -= b[i];
}
else
{
b[i] -= a[i];
}
}
gcd = a[i];
lcm = lcm / gcd;
cout << gcd << " " << lcm << endl;
}
}