POJ 1995 快速幂

题意:直接解释输入了,,,先输入个数字t表示t组数据,每组数据前两行各一个数M,H。
接下来H行每行俩数 Ai,Bi。 让求下式的结果。
这里写图片描述

// by SiriusRen
#include <cstdio>
using namespace std;
int t,m,h,ans,xx,yy;
int cheng(int x,int y){
    int ret=1,now=x%m;
    while(y){
        if(y&1)ret=ret*now%m;
        now=now*now%m;
        y>>=1;
    }
    return ret;
}
int main(){
    scanf("%d",&t);
    while(t--){
        ans=0;
        scanf("%d%d",&m,&h);
        for(int i=1;i<=h;i++)
            scanf("%d%d",&xx,&yy),ans=(cheng(xx,yy)+ans)%m;
        printf("%d\n",ans);
    }
}

这里写图片描述

posted @ 2016-07-03 22:33  SiriusRen  阅读(89)  评论(0编辑  收藏  举报