欧几里得算法(辗转相除法求最大公因数):
仅供自己记忆,如需学习请前往:欧几里得求gcd图示、欧几里得算法推导
int gcd(int a,int b)
{
return b==0?a:gcd(b,a%b);
}
扩展欧几里得:
同理:扩展欧几里得学习
void Ex_gcd(int a, int b, int &x, int &y)
{
if(b == 0)//递归出口
{
x = 1;
y = 0;
return;
}
int x1, y1;
Ex_gcd(b, a%b, x1, y1);
x = y1;
y = x1-(a/b)*y1;
}