编程之美2.6-2.7 最大公约数

来源:互联网 发布:licecap mac版 编辑:程序博客网 时间:2024/06/01 20:39
bool iseven(int a){if(a&1==0)return true;elsereturn false;}int gcd(int a,int b){int result=1,tmp;while((b!=0)&&(a!=0)){if(a<b){tmp=a;a=b;b=tmp;}if(iseven(a)){if(iseven(b)){a/=2;b/=2;result*=2;}elsea/=2;}else{if(iseven(b))b/=2;else{tmp=a;a=b;b=tmp;b=b-a;}}}return result*a;}
最小公倍数=a*b/gcd(a,b)