首页 > 其他 > 详细

【HDOJ】4704 Sum

时间:2014-07-24 05:00:38      阅读:503      评论:0      收藏:0      [点我收藏+]

数学题。f(n) = 2^(n-1) mod (1e9+7)。

 1 #include <cstdio>
 2 
 3 #define MAXN 100005
 4 
 5 char buf[MAXN];
 6 __int64 phi = 1e9+6;
 7 __int64 mod = 1e9+7;
 8 
 9 __int64 power2(__int64 n) {
10     __int64 ret = 1, base = 2;
11 
12     --n;
13     while (n) {
14         if (n & 1)
15             ret = ret * base % mod;
16         base = base*base%mod;
17         n >>= 1;
18     }
19     return ret;
20 }
21 
22 int main() {
23     __int64 tmp;
24     __int64 i, j;
25 
26     while (scanf("%s", buf) != EOF) {
27         tmp = 0;
28         for (i=0; buf[i]; ++i) {
29             tmp = 10*tmp + (buf[i]-0);
30             tmp %= phi;
31         }
32         tmp += phi;
33         tmp = power2(tmp);
34         printf("%I64d\n", tmp);
35     }
36 
37     return 0;
38 }

【HDOJ】4704 Sum,布布扣,bubuko.com

【HDOJ】4704 Sum

原文:http://www.cnblogs.com/bombe1013/p/3864198.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!