模板之快速幂和求逆元

来源:互联网 发布:音乐盒淘宝 编辑:程序博客网 时间:2024/05/29 14:37
ll mypow(ll a,ll b){    ll sum=1LL;    while(b){        if(b&1) sum=(1LL*sum*a)%mod;        a=(1LL*a*a)%mod;        b>>=1;    }    return sum;}void ext_gcd(ll a, ll b, ll &d, ll &x, ll &y)//拓展欧几里得求逆元{    if (!b){        d=a; x=1LL; y=0LL;    }    else{        ext_gcd(b, a%b, d, y, x);        y-=x*(a/b);    }}ll inv(ll k)//求逆元{    ll x, y, d;    ext_gcd(k, mod, d, x, y);    return (x+mod)%mod;}