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]);
    }
        
    
    
    
    
}