次方求模
描述
求a的b次方对c取余的值
- 输入
- 第一行输入一个整数n表示测试数据的组数(n<100)
- 每组测试只有一行,其中有三个正整数a,b,c(1=<a,b,c<=1000000000)
- 输出
- 输出a的b次方对c取余之后的结果
- 样例输入
3 2 3 5 3 100 10 11 12345 12345
样例输出
3 1 10481
测试代码
1 #include<stdio.h> 2 #include<stdlib.h> 3 4 long long powermod(int a, int b, int c) 5 { 6 long long t; 7 if (b == 0) return 1 % c; 8 if (b == 1) return a % c; 9 t = powermod(a, b / 2, c); 10 t = t * t % c; 11 if (b & 1) 12 { 13 t = t*a%c; 14 } 15 return t; 16 } 17 18 int main() 19 { 20 int n; 21 long long a, b, c; 22 scanf("%d", &n); 23 while (n--) 24 { 25 scanf("%lld%lld%lld", &a, &b, &c); 26 printf("%lld\n", powermod(a, b, c)); 27 } 28 return 0; 29 }

浙公网安备 33010602011771号