。。。

导航

【数学基础】【快速幂运算模板】

ACM模板

【快速幂取模运算】

//取模运算(a*b)%c = (a%c)*(b%c)%c 
int PowerMod(int a, int b, int c)
{
    int ans = 1;
    a = a % c;
    while(b>0)
    {
        if(b % 2 = = 1)
            ans = (ans * a) % c;
        b = b/2;
        a = (a * a) % c;
    }
    return ans;
}

【用快速幂求a的n次方】

涉及大数

long long sum,x;
int a,n;
x = a,sum = 1;
while(n)
{
    if(n%2)
        sum*=x;
    n>>1;//等价于n/=2
    x = x*x;
}

posted on 2017-08-01 07:26  大学僧  阅读(177)  评论(0编辑  收藏  举报