Problem Description
Calculate mod (1000000000+7) for givenn,m.
Input
Input contains two integers n,m(1≤n≤1000,0≤m≤10).
Output
Output the answer in a single line.
Example Input
10 0
Example Output
10
Hint
题意
给定两个数n,m,求(1^m+2^m+3^m+...+n^m) mod 1000000007的值
题解
用快速幂计算i^m % mod的值,依次累加,每次加的时候要注意对mod取余
挺水的题不解释
代码
#include<stdio.h>
#include<iostream>
using namespace std;
#define mod 1000000007
long long pow_m(long long a,long long n)
{
long long sum=1;
for(long long i=0; i<n; i++)
{
sum*=a;
sum%=mod;
}
return sum;
}
int main()
{
long long m;
long long n;
scanf("%lld%lld",&n,&m);
long long sum=0;
for(long long i=1; i<=n; i++)
{
sum+=pow_m(i,m);
sum%=mod;
}
cout<<sum<<endl;
return 0;
}
链接:
http://acm.sdut.edu.cn/onlinejudge2/index.php/Home/Contest/contestproblem/cid/2164/pid/3899