题目名称 | 809. [Tyvj 1236] 比特 |
---|---|
输入输出 | bita.in/out |
难度等级 | ★★ |
时间限制 | 1000 ms (1 s) |
内存限制 | 128 MiB |
测试数据 | 10 |
题目来源 | Makazeu 于2012-06-14加入 |
开放分组 | 全部用户 |
提交状态 | |
分类标签 | |
分享题解 |
通过:110, 提交:150, 通过率:73.33% | ||||
1020 | 100 | 0.000 s | 0.00 MiB | C++ |
农场主 | 100 | 0.000 s | 0.13 MiB | Pascal |
农场主 | 100 | 0.000 s | 0.17 MiB | Pascal |
Lunatic | 100 | 0.011 s | 4.10 MiB | C++ |
AntiLeaf | 100 | 0.017 s | 0.29 MiB | C++ |
zjmfrank2012 | 100 | 0.017 s | 0.31 MiB | C++ |
瑆の時間~無盡輪迴·林蔭 | 100 | 0.018 s | 21.29 MiB | C++ |
→震世逆空波→ | 100 | 0.019 s | 7.92 MiB | C++ |
天一阁 | 100 | 0.019 s | 7.94 MiB | C++ |
Ezoi_XY | 100 | 0.021 s | 0.17 MiB | Pascal |
本题关联比赛 | |||
20140713下午练习 |
关于 比特 的近10条评论(全部评论) | ||||
---|---|---|---|---|
向排行榜上的大神们学习!
| ||||
比特超流逼模拟算法!!!
| ||||
其实直接模拟就行了吧= =
| ||||
原本想打表的,后来发现貌似用不到。。。
| ||||
...
|
Source:tyvj20100619比赛
对于一个十进制整数,我们可以很容易地将它转化为二进制数,例如:
5 —— 101
13 —— 1101
23 —— 10111
现在我们关心的是,一个数的二进制表示中,出现多少相邻的1的情况。例如5表示成的101,没有出现相邻的1;13表示成的1101,开头两个1相邻,所以有1个;23表示成的10111,最后三位全是1,所以出现两个。
现在给出n,请求出1到n之间所有的数的二进制共出现多少相邻的1的情况。
输入格式 Input Format
输入包含一个整数n(1<=n<=1,000,000)。
输入:22
输出格式 Output Format
输出一个整数,为所求的答案。
输出:14