7223. 数二进制 1 的个数 (Counting Bits)
时间限制:1000 MS 内存限制:512 MB
题目描述
# 数二进制 1 的个数 (Counting Bits) **时间限制**:1.00 s **空间限制**:512 MB ## 题目描述 你的任务是计算所有介于 $1$ 到 $n$ 之间的整数在二进制表示中 `1` 的总个数。 ## 输入格式 唯一的一行输入包含一个整数 $n$。 ## 输出格式 输出一个整数,表示所有介于 $1$ 到 $n$ 之间的整数在二进制表示中 `1` 的总个数。 ## 输入输出样例 ### 输入 #1 ``` 7 ``` ### 输出 #1 ``` 12 ``` ### 样例解释 $1 \dots 7$ 的二进制表示分别为 `1`, `10`, `11`, `100`, `101`, `110` 和 `111`,其二进制表示中 `1` 的个数之和为 $1 + 1 + 2 + 1 + 2 + 2 + 3 = 12$。 ## 说明/提示 ### 数据规模与约定 * $1 \le n \le 10^{15}$