以下代码就可以算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