最大公约数(GCD)
参考资料
欧几里得算法(辗转相除法)
- 递归
- 迭代
int Gcd(int a,int b)
{
return !b?a:Gcd(b,a%b);
}
ll Gcd(ll a,ll b)
{
while(b)
{
ll tmp=a;
a=b;
b=tmp%b;
}
return a;
}
扩展欧几里得(EXGCD)
ll exgcd(ll a,ll b,ll &x,ll &y)
{
if(b==0){x=1;y=0;return a;}
ll d=exgcd(b,a%b,y,x);
y-=a/b*x;
return d;
}