记录编号 450272 评测结果 AAAAAAAAA
题目名称 取余运算 最终得分 100
用户昵称 GravatarJustWB 是否通过 通过
代码语言 C++ 运行时间 0.003 s
提交时间 2017-09-15 21:38:24 内存使用 0.31 MiB
显示代码纯文本
#include<cstdio>
#include<iostream>
using namespace std;
inline long long get();
inline long long pow();
long long b,p,k;
int main()
{
	freopen("dmod.in","r",stdin);
	freopen("dmod.out","w",stdout);
	b=get(),p=get(),k=get();
	printf("%lld",pow());
	return 0;
}
inline long long pow()
{
	long long ans=1;
	while(p)
	{
		if((p%2))
		{
			(ans*=b)%=k;
			p-=1;
		}
		(b*=b)%=k;
		p>>=1;
	}
	return ans%k;
}
inline long long get()
{
	long long t=0;char c=getchar(),j=1;
	while(!isdigit(c))
		if(c=='-')j=-1,c=getchar();
		else c=getchar();
	while(isdigit(c))
		t=(t<<3)+(t<<1)+c-'0',
		c=getchar();
	return j*t;
}