您的位置:首页 > 大数据 > 人工智能

POJ_1995_RaisingModuloNumbers

2015-07-23 09:18 543 查看
没什么特别的,简单的快速幂,照着output中公式写即可

#include <iostream>
#include<stdio.h>
using namespace std;

int qp(int nn,int n,int m)  //nn的n次幂模m
{
int r=1;
while(n>0)
{
if(n&1)
r=(r*nn)%m;
n>>=1;
nn=(nn*nn)%m;
}
return r;
}

int main()
{
int t;
int n,nn,m;
int nt;
int tot;
scanf("%d",&t);
while(t--)
{
tot=0;
scanf("%d%d",&m,&nt);
for(int i=0;i<nt;i++)
{
scanf("%d%d",&nn,&n);
nn%=m;
tot=(tot+qp(nn,n,m))%m;
}
printf("%d\n",tot);
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: