输入正整数m,n,求m,n的最大公约数和最小公倍数(最简洁写法)
#include<iostream>
using namespace std;
//辗转相除法求最大公约数
int gcd(int a,int b){
if(b==0) return a;
else return gcd(b,a%b);
}
//最小公倍数
int lcm(int a,int b){
return a/gcd(a,b)*b;//防止溢出先除最大公约数
}
int main(){
int m,n;
while(cin>>m>>n){
cout<<"最大公约数"<<gcd(m,n)<<endl;
cout<<"最小公倍数"<<lcm(m,n)<<endl;
}
return 0;
}
