求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 来源 [张云聪]原创 #include<stdio.h> int main() { int n; scanf("%d",&n); while(n--) { long long a,b,c,ans=1; scanf("%lld%lld%lld",&a,&b,&c); while(b) { if(b%2) ans=(ans*a)%c; // 每次都取模,防爆; a=(a*a)%c; b/=2; } printf("%lld\n",ans%c); } }