C++快速幂模板

以下代码就可以算a^b%c的值,总的思路还是二分思想吧。要仔细体会一下(^_^)

#include <cstdio>
#include <iostream>
#include <cmath>
#include <algorithm>
#include <cstring>
#include <string>
using namespace std ;
int lxx ( long long bb , long long pp , long long kk )
{
    long long b = bb , p = pp , k = kk , ans = 1 ;
    while ( p > 1 )
    {
        if ( p % 2 == 1 ) ans = ( ans % k ) * ( b % k ) % k ;
        p /= 2 ;
        b = ( b % k ) * ( b % k ) % k;
    }
    ans = ans * ( b % k ) % k ;
    return ans ;
}
int main ( )
{
    int a ,b , c ;
    cin >> a >> b >> c ;
    cout << lxx ( a , b , c ) ; 
    return 0 ;  
}

相关链接:

C++模板小站:
https://blog.csdn.net/zj_mrz/article/details/80950647

C++并查集模板:
https://blog.csdn.net/zj_mrz/article/details/81203931

C++高精度加法模板:
https://blog.csdn.net/zj_mrz/article/details/80948327

C++高精度减法模板:
https://blog.csdn.net/zj_mrz/article/details/80965324

C++高精度乘法模板:
https://blog.csdn.net/zj_mrz/article/details/80967394

posted @ 2018-07-07 13:10  ZJ_MRZ  阅读(714)  评论(0编辑  收藏  举报