Exgcd

#include<iostream>
#include<cstdio>
#include<cmath>
#define ll long long
ll a,b;
void exgcd(ll a,ll b,ll &x,ll &y){
    if(b==0){x=1;y=0;}
    else {exgcd(b,a%b,y,x);y-=(a/b)*x;}
}
int main(){
    //freopen("in.txt","r",stdin);
    //freopen("out.txt","w",stdout);
    scanf("%lld%lld",&a,&b);
    ll x,y;
    exgcd(a,b,x,y);
    ll ans=x%b;
    if(ans<=0) ans+=b;
    printf("%lld\n",ans);
    return 0;
}

你可能感兴趣的:(模板,exgcd)