ACM--快速幂--次方求模

2019-04-13 17:05发布

  南阳oj地址:点击打开链接

次方求模

时间限制:1000 ms  |  内存限制:65535 KB 难度:3
描述
求a的b次方对c取余的值  
输入
第一行输入一个整数n表示测试数据的组数(n<100)
每组测试只有一行,其中有三个正整数a,b,c(1=
输出
输出a的b次方对c取余之后的结果
样例输入
3 2 3 5 3 100 10 11 12345 12345
样例输出
3 1 10481

#include #include #include using namespace std; long long fast(long long a,long long b ,long long c){ long long temp=1; if(b==0) return 1; if(b==1) return a%c; temp = fast(a,b/2,c); temp = temp*temp%c; if(b&0x1){ temp = temp*a%c; } return temp; } int main(){ int n; scanf("%d",&n); while(n--){ long long a,b,c; scanf("%lld",&a); scanf("%lld",&b); scanf("%lld",&c); long long x = fast(a,b,c); printf("%lld ",x); } return 0; }