GCD最大公约数

时间:2022-05-29 09:09:05

说明:

最初跟鹏哥学习最大公约数的算法是辗转相除,确实印象很深刻,那种辗转赋值的思想在好多题目中都有运用,但随着进一步学习,我也参考了其他几种方便快捷的最大公约数求法,在这里做一个总结。

.
int gcd(int a,int b) ///基础 辗转
{
int r;
while(b>)
{
r=a%b;
a=b;
b=r;
}
return a;
} .
int gcd(int a,int b)///位运算
{
while(b^=a^=b^=a%=b);
return a;
} .
int gcd(int a,int b)///递归调用
{
    if(b==0)
    {
        return a;
    }
    gcd(b,a%b);
} .
#include<algorithm>///直接使用c++的内置函数
using namespace std;
__gcd(int a,int b)