辗转相除(欧几里德算法(m>n))
1、m被n除得到余数r(0≤r ≤n) r=m%n
2、若r=0,则算法结束,n为最大公约数,否则做3
3、m=n , n=r , 回到1
<!-- lang: cpp -->
//最大公约数
int gcd(int m, int n){
int r=0;
while ( r=m%n )
{ m=n; n=r ;
}
return n;
}
<!-- lang: cpp -->
//最小公倍数
int lcm (int m,int n){
return m*n/gcd(m,n);
}