int gcd(int a,int b)
{
return b?gcd(b,a%b):a;
}
int gcd(int a,int b)
{
if (b==0)
return a;
return gcd(b,a%b);
}
int lcm(int a,int b)
{
int c = gcd(a,b);
return a/c*b;
}
解方程a*x+b*y=c得出x和y的
有解的情况是:c mod gcd(a,b)==0
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;
}