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/80948327

猜你喜欢

转载自blog.csdn.net/zj_mrz/article/details/80950616