码迷,mamicode.com
首页 > 其他好文 > 详细

hdu 6027

时间:2017-06-06 20:42:16      阅读:156      评论:0      收藏:0      [点我收藏+]

标签:name   ons   include   names   快速幂   code   div   nbsp   turn   

题意:t组,输入n,k,求f(1)+...f(n)的和,其中f(i)=i的k次方。

思路:n不大,所以暴力+快速幂

 1 #include<bits/stdc++.h>
 2 using namespace std;
 3 typedef long long ll;
 4 const ll mod=1e9+7;
 5 
 6 long long hh(long long a,long long b)
 7 {
 8         long long ans = 1;
 9         while(b)
10         {
11             if(b&1)
12             {
13                 ans = (ans*a)%mod;
14                 b--;
15             }
16             b/=2;
17             a = a*a%mod;
18         }
19         return ans;
20 }
21 int main(){
22     int t;
23     scanf("%d",&t);
24     while(t--){
25        int n,k;
26        scanf("%d%d",&n,&k);
27        int sum=1;
28        for(int i=2;i<=n;i++){
29             sum=(sum+hh(i,k)+mod)%mod;
30         }
31         printf("%d\n",(sum+mod)%mod);
32     }
33     return 0;
34 }

 

hdu 6027

标签:name   ons   include   names   快速幂   code   div   nbsp   turn   

原文地址:http://www.cnblogs.com/hhxj/p/6953333.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!