HDU6027-Easy Summation

xiaoxiao2021-02-28  94

Easy Summation

                                                                        Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Others)                                                                                                           Total Submission(s): 0    Accepted Submission(s): 0 Problem Description You are encountered with a traditional problem concerning the sums of powers. Given two integers  n  and  k . Let  f(i)=ik , please evaluate the sum  f(1)+f(2)+...+f(n) . The problem is simple as it looks, apart from the value of  n  in this question is quite large. Can you figure the answer out? Since the answer may be too large, please output the answer modulo  109+7 .   Input The first line of the input contains an integer  T(1T20) , denoting the number of test cases. Each of the following  T  lines contains two integers  n(1n10000)  and  k(0k5) .   Output For each test case, print a single line containing an integer modulo  109+7 .   Sample Input 3 2 5 4 2 4 1   Sample Output 33 30 10  

题意:给出一个n和k,求从1^k到n^k的和

解题思路:暴力,注意取模即可

#include <iostream> #include <cstdio> #include <cstring> #include <string> #include <algorithm> #include <cmath> #include <map> #include <cmath> #include <set> #include <stack> #include <queue> #include <vector> #include <bitset> #include <functional> using namespace std; #define LL long long const int INF=0x3f3f3f3f; const int mod=1e9+7; int n,m; int main() { int T; scanf("%d",&T); while(T--) { scanf("%d%d",&m,&n); LL ans=0; for(int i=1; i<=m; i++) { LL x=1; for(int j=1; j<=n; j++) { x*=i; x%=mod; } ans+=x; ans%=mod; } printf("%lld\n",ans); } return 0; }

转载请注明原文地址: https://www.6miu.com/read-78365.html

最新回复(0)