题目:输入俩正整数m和n,求其最大公约数与最小公倍数。
样例输入:5 7
样例输出:1 35
方法:函数调用(辗转相除法)
最大公约数(gcd)
int gcd(int x,int y){
return y==0? x:gcd(y,x%y);
}
最小公倍数(lcm)
int lcm(int x,int y){
return x/gcd(x,y)*y;
}
题解:#include<iostream>
using namespace std;
int gcd1 (int x,int y){
return y==0? x:gcd1(y,x%y);
}
int main()
{
int a,b,M,N;
cin>>a>>b;
M=gcd1(a,b);
N=a/gcd1(a,b)*b;
cout<<M<<" "<<N;
return 0;
}