A^BmodC
计算A的B次幂对c取模(A^BmodC)并且1<=A,B,C<=32768.
输入三个整数A,B,C,输入文件每一行依次三个整数a,b,c用空格隔开
每行输出一个运算结果
Sample:
Input:
3 4 5
10 10 100
45 67 89
1 1 1
Output:
1
0
45
0
解题报告
由于此题数据不多,而且时间给的多,所以当时用的是A*A%c这种方式水过去的。言归正传,此题用快速幂既可搞定,代码如下:
#include<stdio.h>
int a,b,c;
int mod(int h)
{
int k;
if (h==1) return a%c;
k=mod(h/2);
k=(k*k)%c;
if (h%2) k=(k*a)%c;
return k;
}
int main()
{
while (scanf("%d%d%d",&a,&b,&c)!=EOF) printf("%d\n",mod(b));
return 0;
}