题目链接:HDU6063
2017 Multi-University Training Contest - Team 3 1008题
水题。
官方题解链接:2017 Multi-University Training Contest 3 solutions BY 洪华敦
比赛的时候一直WA,后来才发现,n的范围为1-1e18,快速幂会爆,所以要在进快速幂之前模一下,但是k不需要模,因为k是幂,模了就错了,当时考虑错了……
AC代码
/*
2017年8月1日22:10:25
HDU6063
多校赛#3 1008
AC 代码
*/
#include<stdio.h>
#include<math.h>
typedef long long ll;
const ll mod=1e9+7;
ll fun(ll x,ll n)
{
ll res=1;
while(n>0)
{
if(n & 1)
res=(res*x)%mod;
x=(x*x)%mod;
n >>= 1;
}
return res;
}
int main(){
ll n,k;
ll kase=0;
while(~scanf("%I64d%I64d",&n,&k)){
ll ans=fun(n%mod,k);
printf("Case #%I64d: %I64d\n",++kase,ans);
}
return 0;
}