首页 > 代码库 > POJ 1995 Raising Modulo Numbers 【快速幂取模】

POJ 1995 Raising Modulo Numbers 【快速幂取模】

题目链接:http://poj.org/problem?id=1995

解题思路:用整数快速幂算法算出每一个 Ai^Bi,然后依次相加取模即可。

#include<stdio.h>long long quick_mod(long long a,long long b,long long c){	long long ans=1;	while(b)	{		if(b&1)		{			ans=ans*a%c;		}		b>>=1;		a=a*a%c;	}	return ans;}int main(){	int ncase;	int m,h;	int i;	long long  a,b,s;	scanf("%d",&ncase);		while(ncase--)		{			s=0;			scanf("%d",&m);			scanf("%d",&h);			for(i=1;i<=h;i++)			{				scanf("%lld %lld",&a,&b);				s=(s+quick_mod(a,b,m))%m;			}			printf("%I64d\n",s);		}}

 

POJ 1995 Raising Modulo Numbers 【快速幂取模】