最大公约数与最小公倍数

辗转相除法

#include
using namespace std;
int gcd(int x,int y){
	int MAX=max(x,y);
	int MIN=min(x,y);
	return MAX%MIN==0?MIN:gcd(MIN,MAX%MIN);
}
int lcm(int x,int y){
	return x*y/gcd(x,y);
}
int main(){
	int x,y;
	cin>>x>>y;
	int g,l;
	g=gcd(x,y);
	l=lcm(x,y);
	cout<<g<<" "<<l<<endl;
	return 0;
}
 

你可能感兴趣的:(最大公约数与最小公倍数)