快速幂 再理解及模板总结

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/weixin_44510468/article/details/102633858

模板

typedef long long ll;
ll qpow ( ll base, ll n ) {
    ll ans = 1;
    while ( n ) {
        if ( n&1 ) ans *= base;
        base *= base;
        n >>= 1;
    }
    return ans;
}
typedef long long ll;
const int mod = 1;
ll qpow ( ll base, ll n ) {
    ll ans = 1;
    while ( n ) {
        if ( n&1 ) ans = ans*base%mod;
        base = base*base%mod;
        n >>= 1;
    }
    return ans;
}
typedef long long ll;
ll qpow ( ll base, ll n, ll mod ) {
    ll ans = 1;
    while ( n ) {
        if ( n&1 ) ans = ans*base%mod;
        base = base*base%mod;
        n >>= 1;
    }
    return ans;
}

再理解

附上洛谷的题解区, 讲的很好

在这里插入图片描述
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_44510468/article/details/102633858