说明:
最初跟鹏哥学习最大公约数的算法是辗转相除,确实印象很深刻,那种辗转赋值的思想在好多题目中都有运用,但随着进一步学习,我也参考了其他几种方便快捷的最大公约数求法,在这里做一个总结。
1.
int gcd(int a,int b) ///基础 辗转
{
int r;
while(b>0)
{
r=a%b;
a=b;
b=r;
}
return a;
}
2.
int gcd(int a,int b)///位运算
{
while(b^=a^=b^=a%=b);
return a;
}
3.int gcd(int a,int b)///递归调用{ if(b==0) { return a; } gcd(b,a%b);}4.
#include<algorithm>///直接使用c++的内置函数
using namespace std;
__gcd(int a,int b)