Description
Jerry is caught by Tom. He was penned up in one room with a door, which only can be opened by its code. The code is the answer of the sum of the sequence of number written on the door. The type of the sequence of number is
1^m + 2^m + 3^m + …… + n^m
But Jerry’s mathematics is poor, help him to escape from the room.
Input
There are some cases (about 500). For each case, there are two integer numbers n, m describe as above ( 1 <= n < 1 000 000, 1 <= m < 1000).
Output
For each case, you program will output the answer of the sum of the sequence of number (mod 1e9+7).
Sample Input
4 1
5 1
4 2
5 2
4 3
Sample Output
10
15
30
55
100
题意:求1^m + 2^m + 3^m + …… + n^m (mod 1e9+7)
注意:每个加起来的时候和加起来后也要mod
#include<stdio.h>
#define M 1000000007
long long qpow(long long a,long long m)//快速幂
{
long long ans=1,k=a;
while(m)
{
if(m&1)
ans=(ans*k)%M;
k=(k*k)%M;
m>>=1;
}
return ans;
}
int main()
{
long long n,m,ans;
while(scanf("%lld%lld",&n,&m)!=EOF)
{
ans=0;
for(int i=1; i<=n; i++)
ans+=qpow(i,m)%M;//这里mod一下
printf("%lld\n",ans%M);//这里mod一下
}
return 0;
}
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有