NYOJ 102 次方求模

链接:http://acm.nyist.net/JudgeOnline/problem.php?pid=102

 

用二分求幂:注意要用长整形

 

#include <stdio.h>



int main()

{

	long long power(int a,int b,long long c);

	int n;

	int a,b,c;

	scanf("%d",&n);

	while(n--)

	{

		scanf("%d%d%d",&a,&b,&c);

		printf("%lld\n",power(a,b,c));



	}

	return 0;

}



long long power(int a,int b,long long c)				//a^b%c

{



	if(b==0)

		return 1;

	if(b==1)

		return a%c;

	long long ans=power(a,b/2,c);

	ans=(ans%c*ans%c)%c;

	if(b%2)

		ans*=a;

	return ans%c;

}        


 

 

你可能感兴趣的:(OJ)