首页 > 其他 > 详细

acdream 1154 Lowbit Sum

时间:2014-07-31 20:26:37      阅读:265      评论:0      收藏:0      [点我收藏+]

先贴代码,以后再写题解。。。

 

 1 #include <iostream>
 2 #include <cstring>
 3 #include <cstdio>
 4 #include <algorithm>
 5 using namespace std;
 6 
 7 typedef long long ll;
 8 
 9 ll s[100];
10 
11 ll init (int n){
12     if (s[n])
13         return s[n];
14     s[n]=init (n-1)*2-(1<<(n-1))+(1<<n);//cout<<s[n]<<" ";
15     return s[n];
16 }
17 
18 int main (){
19     int n;    //while (cin>>n&&n) cout<<(1024>>n)<<endl;
20     ll ans=1;
21     int temp=2;
22     memset (s,0,sizeof s);
23     s[0]=1;
24     init (30);    //for (int i=0;i<=30;i++) cout<<s[i]<<" ";
25     while (~scanf ("%d",&n)){
26         ans=0;
27         for (int i=0;n&&i<30;i++) {
28             if (n&1)
29                 ans+=s[i];//cout<<ans<<endl;
30             n>>=1;
31             //n/=2;
32         }
33         printf ("%lld\n",ans);
34     }
35     return 0;
36 }

 

acdream 1154 Lowbit Sum,布布扣,bubuko.com

acdream 1154 Lowbit Sum

原文:http://www.cnblogs.com/gfc-g/p/3881293.html

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