【问题描述】编写函数,求三个整数的最大公因数和最小公倍数
【输入形式】输入三个整数,中间用空格隔开;
【输出形式】输出三个数对应的最大公因数和最小公倍数;
【样例输入】23 45 12
【样例输出】1 4140
//函数求解三个整数的最大公因数和最小公倍数
#include<iostream>
using namespace std;
int gys(int x,int y)
{return y==0?x:gys(y,x%y);}//求最大公因数
int main(){
int a,b,c;
cin>>a>>b>>c;
cout<<gys(a,gys(b,c))<<" "<<(a*b/gys(a,b))*c/gys(a*b/gys(a,b),c);//gys(a,gys(b,c))表示最大公因数
// (a*b/gys(a,b))*c/gys(a*b/gys(a,b),c表示a和b的最小公倍数与c再求一次最小公倍数
return 0;
}