您的位置:首页 > 其它

HDU - 6027 Easy Summation

2018-04-07 22:53 323 查看
题意:

f(i)=ikf(i)=ik

sum=f(1)+f(2)+f(3)⋅⋅⋅⋅⋅⋅f(n)sum=f(1)+f(2)+f(3)······f(n)

给你两个数n,k,求sum。对mod取余。

求幂嘛,,,上来就是快速幂,这个题数据规模比较小,暴力也可以过的

#include<bits/stdc++.h>
#define ll long long
using namespace std;
const long long mod = 1e9 + 7;
ll kpow(ll a,ll b){
a = a%mod;
ll ans = 1;
while(b){
if(b&1) ans = a * ans%mod;
a = a*a%mod;
b>>=1;
}
return ans;
}
int main(){
int T;cin>>T;
while(T--){
int n,k;
cin>>n>>k;
ll sum = 0;
for(int i = 1;i<=n;i++){

96a4
sum = (sum+kpow(i,k))%mod;
}
cout<<sum<<endl;

}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: