1 条题解
-
0
bitset方法:
#include <bits/stdc++.h> using namespace std; /* 题意: 输入一个二进制串(长度 n ≤ 30),输出它对应的十进制数。 思路: - 直接读入 n(其实 n 仅用于限制长度)。 - 读入一个字符串 s(仅由 '0' 和 '1' 构成)。 - 使用 bitset<30> 将 s 转为一个 30 位二进制数。 注意:bitset 构造时从右到左对应最低位到最高位。 - 通过 bitset.to_ulong() 或 bitset.to_ullong() 获得十进制值。 */ int main() { ios::sync_with_stdio(false); cin.tie(nullptr); int n; string s; cin >> n >> s; // 用 bitset<30> 接收输入(支持长度 ≤ 30) bitset<30> bits(s); // 输出十进制表示 cout << bits.to_ulong() << "\n"; return 0; }
- 1
信息
- ID
- 191
- 时间
- 1000ms
- 内存
- 64MiB
- 难度
- 5
- 标签
- 递交数
- 39
- 已通过
- 16
- 上传者