extgcd 扩展欧几里得算法模板

时间:2022-11-23 21:28:39
#include <bits/stdc++.h>
using namespace std; int extgcd (int a,int b,int &x,int &y){ int d = a;
if(b != ){
d = extgcd(b,a%b,y,x);
y -= (a / b)*x;
}
else
x=,y=;
return d; // 返回最大公约数
} int main(){ int a,b,x,y;// x y 分别表示满足 x * a + y * b = 1 的系数
scanf("%d %d",&a, &b);
int t = extgcd(a,b,x,y);
if (t != )
printf("不存在\n"); else
printf("%d %d\n",x,y);
return ;
}