记录编号 135637 评测结果 AAAAWWWWWW
题目名称 取余运算2 最终得分 40
用户昵称 Gravatar天一阁 是否通过 未通过
代码语言 C++ 运行时间 0.003 s
提交时间 2014-11-01 14:59:57 内存使用 0.31 MiB
显示代码纯文本
#include<cstdio>
#include<iostream>
using namespace std;
unsigned long long n,m,k;
unsigned long long calc(unsigned long long a,unsigned long long b){
	unsigned long long tot=0;
	for(;b;a=(a<<1)%k,b=(b>>1)) if(b&1) tot=(tot+a)%k;
	return tot;
}
unsigned long long Pow(){
	unsigned long long res=1;
	for(;m;m>>=1,n=calc(n,n)%k) if(m&1) res=calc(res,n)%k;
	return res;
}
int main(){
	freopen("helpless.in","r",stdin);
	freopen("helpless.out","w",stdout);
	cin>>n>>m>>k;
	cout<<Pow()<<endl;
}