a^b快速幂

两种写法,见代码:

#include<iostream>
using namespace std;
int main()
{
    int a, b, p;
    cin >> a >> b >> p;
    int ans = 1 % p;
    
    /*
    while (b)
    {
        if(b&1)
            ans = ans * 1ll * a % p;
        a = a * 1ll * a % p;
        b >>= 1;
    }
    */
    for (; b; b >>= 1)
    {
        if(b&1)     ans = ans * 1ll * a % p;
    
        a = a * 1ll * a % p;

    }

    cout << ans;



}

 

a^b快速幂

上一篇:神奇的BUG——Linux之4


下一篇:系统启动和内核