方法一:
欧几里得算法(m>n)
1.m被n除得到余数r(0<=r<=n) r=m%n;
2.若r=0,算法结束,n为最大公约数,否则执行3;
3.m=n,n=r,执行1.
int gcd(int m,int n){
int r=m%n;
while(r!=0)
{
m=n;
n=r;
r=m%n;
}
方法二:
遍历搜索
int gcd(int m,int n){
int i;
int min=m<n?m:n;
for(i=min;i>=1;i--)
{
if(m%i==0&&n%i==0)
return i;
}