最大公约数可以用递减法、辗转相除法和相减法求得;而最小公倍数就可以用这俩个数分别去除最大公约数所得值相乘在乘以最大公约数就可以了。
描述
输入两个正整数,求出这两数的最大公约数和最小公倍数。
输入
数据有多行,每行输入两个正整数。
输出
每行输出这两数的最大公约数和最小公倍数。
样例输入
2 3
2 6
2 6
样例输出
1 6
2 6
2 6
#include<iostream>
#include<cmath>
using namespace std;
int main()
{
int a,b,t,max,min,x,y,c;
while(cin>>x>>y)
{
a=x;b=y;
while(a!=b)
{
if(a<b){t=a;a=b;b=t;}
c=a-b;
a=b;b=c;
}
max=a;
min=x*y/max;
cout<<max<<" "<<min<<endl;
}
return 0;
}