0
点赞
收藏
分享

微信扫一扫

nefu 计算幂 517 (快速幂&递归)


计算幂

description


让你计算ab%k=?


input


输入数据有多组。每组1行分别为a,b,k,1<=a,b,k<=1000000000;


output


输出ab mod (k) 的值


sample_input


2 3 2
3 2 2


sample_output


0
1


hint



source

#include<stdio.h>
#include<string.h>
#include<math.h>
#include<algorithm>
#define ll long long
using namespace std;
ll a,b,k;
ll quick(ll a,ll b,ll k)
{
	if(b==1)
		return a%k;
	ll z=((a%k)*(a%k))%k;
	if(b&1)
	{
		z=(a*quick(z,b/2,k))%k;
		return z;
	}
	else
		return quick(z,b/2,k);
}
int main()
{
	while(scanf("%lld%lld%lld",&a,&b,&k)!=EOF)
	{
		printf("%lld\n",quick(a,b,k));
	}
	return 0;
}

 

Problem : 517

Time Limit : 1000ms

Memory Limit : 65536K

举报

相关推荐

0 条评论