• Easy Summation


    You are encountered with a traditional problem concerning the sums of powers. 
    Given two integers nn and kk. Let f(i)=ikf(i)=ik, please evaluate the sum f(1)+f(2)+...+f(n)f(1)+f(2)+...+f(n). The problem is simple as it looks, apart from the value of nnin this question is quite large. 
    Can you figure the answer out? Since the answer may be too large, please output the answer modulo 109+7109+7.

    InputThe first line of the input contains an integer T(1≤T≤20)T(1≤T≤20), denoting the number of test cases. 
    Each of the following TT lines contains two integers n(1≤n≤10000)n(1≤n≤10000) and k(0≤k≤5)k(0≤k≤5). 
    OutputFor each test case, print a single line containing an integer modulo 109+7109+7.Sample Input

    3
    2 5
    4 2
    4 1

    Sample Output

    33
    30
    10

    题意:例第一组就是1的5次方加2的5次方(用快速幂)

    #include <iostream>
    #include<algorithm>
    #include<stdlib.h>
    #include<stdio.h>
    #include<string.h>
    #include<math.h>
    using namespace std;
    long long int f(long long int n,long long int k)
    {
        long long int ans=1;
        while(k!=0)
        {
            if(k&1)
                ans=(n%1000000007)*(ans%1000000007);
            n=((n%1000000007)*(n%1000000007))%1000000007;
            k>>=1;
        }
    
    
        return ans;
    }
    int main()
    {
        long long int T;
        scanf("%lld",&T);
        while(T--)
        {
            long long int n,k,i,sum=0;
            scanf("%lld%lld",&n,&k);
            for(i=1;i<=n;i++)
            {
                sum+=f(i,k)%1000000007;
            }
            printf("%lld
    ",sum%1000000007);
        }
        return 0;
    }
  • 相关阅读:
    linux 压缩当前文件夹下所有文件
    redis从入门到精通
    焦点小组测试和可用性测试
    面包屑的故事
    VSCode导入两个工程示例
    数据库规格化
    mergeCI一点小波澜
    Java中List与Set相互转化
    MyBatis中in的使用
    长寿时代的养老风险管理
  • 原文地址:https://www.cnblogs.com/zcy19990813/p/9702806.html
Copyright © 2020-2023  润新知