gcd(x,y)指x和y的最大公约数
三种求法分别为 位运算,高精度,优化的高精度。
int gcd(int x,int y)
{
while(y^=x^=y^=x%=y);
return x;
}
int gcd(int x,int y)
{
while(x!=y){
if(x>y)
x=x-y;
else y=y-x;
}
return x;
}
int gcd(int x,int y)
{
while(x!=y){
while(x&1==0)x>>=1;
while(y&1==0)y>>=1;
if(x>y)
x=x-y;
else y=y-x;
}
return x;
}
谢谢阅读

本文介绍了使用C++编程语言计算两个数最大公约数(GCD)的三种方法:位运算、高精度计算以及优化后的高精度计算。详细探讨了每种方法的实现原理和效率,为理解和应用GCD提供参考。
6814

被折叠的 条评论
为什么被折叠?



