华东交通大学2016届新生选拔赛:1002 二进制
2016-12-11 16:19
375 查看
二进制
Time Limit : 3000/1000ms (Java/Other) Memory Limit : 65535/32768K (Java/Other)
Total Submission(s) : 29 Accepted Submission(s) : 12
Font: Times New Roman | Verdana | Georgia
Font Size: ← →
Problem Description
Jhc是一个爱学习的好孩子。有一天,他想找一些数字出来,这些数字是从1到N的连续自然数。jhc只需要其中样子长得和二进制一样的数字,jhc很聪明,很快就找出了这些数字。但是,他并不满足,他想知道从1到N中有多少个这样的数字,但是他又懒得去查,你们可以帮助他解决这个问题吗?
Input
多组输入,每组一个N(1<=N<=1*10^9)
Output
每组样例输出一行,表示1~N中这样的数字的个数。
Sample Input
10
Sample Output
2 Hint 从1到10,这样的数字有1和10,故输出2
代码:
#include<iostream> #include<algorithm> #include<cstring> #include<cctype> #include<cstdio> #include<set> #include<cmath> #include<string> using namespace std; int main(){ char st[66]; while(~scanf("%s", st)){ long long sum = 0; for(int i = 0; i < strlen(st); i++){ sum *= 2; if(st[i] - '0' != 0) sum++; if(st[i] - '0' > 1 && i != strlen(st) - 1) st[i + 1]++; } printf("%lld\n", sum); } }
相关文章推荐
- 华东交通大学2016届新生选拔赛:1009 pyw的贪心问题
- 华东交通大学2016届新生选拔赛:1010 我是签到题
- 华东交通大学2016届新生选拔赛:1001 最大的空地
- 华东交通大学2016届新生选拔赛:1003 Vitya in the Countryside
- 华东交通大学2016届新生选拔赛:1004 扑克牌
- 华东交通大学2016届新生选拔赛:1006 我是大水题哦
- 华东交通大学2016届新生选拔赛:1008 消消乐
- 新生集训选拔赛
- 2015NCHU第一届ACM新生选拔赛F题题解
- HNUST 1641 罚时计算器(模拟) 湖南科技大学2014新生选拔赛
- 2015NCHU第一届ACM新生选拔赛G题题解
- 2015NCHU第一届ACM新生选拔赛H题题解
- 华东交通大学2016年ACM“双基”程序设计竞赛 1002
- 2015NCHU第一届ACM新生选拔赛J题题解
- 2015NCHU第一届ACM新生选拔赛E题题解
- 2015NCHU第一届ACM新生选拔赛I题题解
- 2015NCHU第一届ACM新生选拔赛赛题说明
- 2016届新生培训
- 南邮2014程序设计新生赛暨蓝桥杯校内自主选拔赛
- 华东交通大学2015年ACM“双基”程序设计竞赛1002