次方求模

描述

  求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 }

 

posted @ 2016-05-10 14:18  新生代黑马  阅读(257)  评论(0)    收藏  举报