哈理工 1251 Marshal's Confusion III(太坑快速幂)

本题为一个太坑,,太坑的快速幂,,,最好的办法就是求C次快速幂.
其它的基本就是模板问题了………
下面附上AC代码,,大家可以看一下…

#include<cstdio>
#include<iostream>
using namespace std;
#define N 317000011

int fp(int a,int b){
    long long ret=1,pow=a;//ret:返回值;pow:基底
    while(b!=0){
    if(b&1) ret=((ret%N)*(pow%N))%N;
    pow=((pow%N)*(pow%N))%N;
    b/=2;//相当于b>>1
    }
return (int)ret;
}
int main()
{
    int a,b,c,t;
    cin>>t;
    while(t--)
    {
        int sum1,sum2;
        cin>>a>>b>>c;
        for(int i=0;i<c;i++)
        {
            sum1=fp(a,b);
            a=sum1;
        }
        cout<<sum1<<endl;
    }
}

你可能感兴趣的:(哈理工oj)