最大公约数与最小公倍数
来源:互联网 发布:淘宝网花肥 编辑:程序博客网 时间:2024/05/28 11:30
int LCM(int a,int b)//最小公倍数{ int x=a,y=b; int r=x%y; while(r>0) { x=y; y=r; r=x%y; } return a*b/y;}int GCD(int x,int y) //求最大公约数{if(!x||!y) return x > y ? x : y;for (int t; t=x%y;x=y,y=t);return y;}#include<algorithm>using namespace std;int kgcd(int a,int b)//快速GCD{if(a==0) return b;if(b==0) return a;if(!(a&1) && !(b&1)) return kgcd (a>>1,b>>1) << 1;else if(!(b&1)) return kgcd(a,b>>1);else if(!(a&1)) return kgcd(a>>1,b);else return kgcd(abs(a-b),min(a,b));}