您的位置:首页 > 其它

HDU6063 RXD and math

2017-08-06 15:28 459 查看
题目链接

题意

​ 求解 ∑i=1nkμ2(i)×⌊nki−−−√⌋

其中μ(n)=1(n=1) , μ(n)=(−1)k(n=p1p2p3…pk) , 其他情况μ(n)=0(其他情况)

分析

​ =-=赛时暴力打表,发现答案刚好等于 nk ,套个快速幂即可。

代码

#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<cmath>
#include<vector>
#include<map>
using namespace std;
#define LL long long
const int mod=1e9+7;
int isprime[100100];
LL quick_pow(LL a,LL b){
LL ret=1;
while(b){
if(b&1)
ret=(a*ret)%mod;
b>>=1;
a=(a*a)%mod;
}
return ret;
}
int main(){
LL n,k;
int cas=1;
while(~scanf("%I64d %I64d",&n,&k)){
LL ans=quick_pow(n%mod,k);
printf("Case #%d: %I64d\n",cas++,ans);
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  快速幂