Easy Summation

xiaoxiao2021-02-28  79

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(1≤T≤20), denoting the number of test cases. Each of the following T lines contains two integers n(1≤n≤10000) and k(0≤k≤5).

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

#include<iostream> #include<cstring> #include<algorithm> #include<cstdio> #include<string> #include<iomanip> #include<cmath> #define ll long long int #define yu 1000000007 using namespace std; ll mah(int x, int n) { ll t = 1; for (int i = 1;i <= n;i++) { t *= x; t %= yu; } return t; } int main() { ll T; ll m, n; while (cin >> T) { while (T--) { cin >> m >> n; ll sum = 0; for (int i = 1;i <= m;i++) { sum += mah(i, n); sum %= yu; } cout << sum << endl; } } return 0; }
转载请注明原文地址: https://www.6miu.com/read-75169.html

最新回复(0)