利用欧几里得方法求最大公约数
参考代码:
#include <iostream>
#include <sstream>
using namespace std;
int maxGYS(int a,int b){//求最大公约数,利用欧几里得方法
while(a!=b){
if(a>b)
a -= b;
else
b -= a;
}
return a;
}
int main(){
int a,b;
cin>>a>>b;
cout<<maxGYS(a,b)<<endl;
return 0;
}
同样可以求最小公倍数 = X*Y/公约数
参考代码:
#include <iostream>
#include <sstream>
using namespace std;
int maxGYS(int a,int b){//求最大公约数,利用欧几里得方法
while(a!=b){
if(a>b)
a -= b;
else
b -= a;
}
return a;
}
int main(){
int a,b;
cin>>a>>b;
cout<<a/maxGYS(a,b)*b<<endl;
return 0;
}