模板,,,
#include<cstdio>
using namespace std;
void exgcd(long long a,long long b,long long &x,long long &y){
if (b==0) {x=1; y=0;}
else {exgcd(b,a%b,x,y); int t=y; y=x-a/b*y; x=t;}
}
int main(){
long long a,b,x,y;
scanf("%lld %lld\n",&a,&b);
exgcd(a,b,x,y);
printf("%lld\n",(x+b)%b);
return 0;
}
白书上的更简短的模板:
void gcd(LL a,LL b,LL &d,LL &x,LL &y){
if (!b){
d=a;
x=1;
y=0;
}else{
gcd(b,a%b,d,y,x);
y-=x*(a/b);
}
}