最大公约数与最小公倍数
算法思想
最大公约数gcd:辗转相除法,最小公倍数lcm:易证当d=gcd(a,b)时,lcm(a,b)=a*b/d,由于先计算ab有可能出现溢出,所以更安全的写法是a/d*b
//a>b否则交换a,b int gcd(int a,int b){ if(b==0)return a; else return gcd(b,a%b); } int Gcd = a>b?gcd(a,b):gcd(b,a);
int lcm = a / d * b;
最大公约数gcd:辗转相除法,最小公倍数lcm:易证当d=gcd(a,b)时,lcm(a,b)=a*b/d,由于先计算ab有可能出现溢出,所以更安全的写法是a/d*b
//a>b否则交换a,b int gcd(int a,int b){ if(b==0)return a; else return gcd(b,a%b); } int Gcd = a>b?gcd(a,b):gcd(b,a);
int lcm = a / d * b;