Submission
Status:
[-SSSSSSSSSSSSSSSSSSS]
Score: 0
User: Angonnyyy
Problemset: ยกกำลัง
Language: c
Time: 0.009 second
Submitted On: 2024-10-14 13:47:16
#include <stdio.h>
#include <math.h>
int mod(int b,int p){
if(p==1)return b;
int i;
long long int temp=b;
for(i=2;i<=p;i*=2){
temp = (temp*temp)%1000000007;
}
i/=2;
if(i!=p) return temp*mod(b,(p-i));
return temp;
}
int main() {
int n;
scanf("%d",&n);
int i,j,b,p,ans[n];
for(i=0;i<n;i++){
scanf("%d %d",&b,&p);
ans[i] = mod(b,p);
}
for(i=0;i<n;i++){
printf("%d\n",ans[i]);
}
}