问题描述
小蓝刚学习完二进制知识,所以现在他对任何数字的二进制都特别感兴趣。恰好即将迎来 2024年,他想知道2024的二进制中几个 1? 请你帮忙解决这个问题。
输入格式
本题为填空题,无输入。
输出格式
输出一个整数表示答案。
思路
定义了一个 bitset<N>
类型的变量 bs
,并将其初始化为 2024,这个操作会将 2024 转化为二进制形式并存储在 bs
中。
bitset
是 C++ 的一个数据结构,用于处理二进制位操作,其中 N
是 bitset
的大小,这里设置为
1
0
6
+
7
10^6 + 7
106+7。
然后,使用 bitset
的 count()
成员函数计算 bs
中二进制形式的 1 的数量,并使用 cout
输出这个数量。
AC代码
#include <algorithm>
#include <bitset>
#include <cmath>
#include <cstring>
#include <iostream>
#define AUTHOR "HEX9CF"
#define ll long long
#define mp make_pair
using namespace std;
const int N = 1e6 + 7;
int main() {
ios::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
bitset<N> bs(2024);
cout << bs.count() << endl;
return 0;
}