1 条题解
-
0
自动搬运
来自洛谷,原作者为

玖安老师
**搬运于
2025-08-24 21:15:35,当前版本为作者最后更新于2024-02-26 16:08:43,作者可能在搬运后再次修改,您可在原文处查看最新版自动搬运只会搬运当前题目点赞数最高的题解,您可前往洛谷题解查看更多
以下是正文
欢迎大家报名洛谷网校的课程,期待和大家一起进步!
思路分析
我们可以定一个长度为 的数组,依次来表示表示一个二进制、八进制、十进制、十六进制。
我们可以依次遍历字符串的每一位,如果该字符串中存在大于
'1'的字符,则该字符串一定不能表示一个二进制数(二进制数字符串中只有'0'和'1'),并把数组中对应的值改为'0';同理,如果字符串中存在大于'7'的数,则一定不能表示一个八进制数;如果字符串中存在大于'9'的数,则一定不能表示一个十进制数;如果字符串中存在大于'F'的数,则一定不能表示一个十六进制数。之后输出该数组的值,并用空格隔开。
核心代码
//定义一个 bool 类型数组,用来表示能否表示对应的进制数 bool a[4] = {1, 1, 1, 1}; for (int j = 0; j < s.length(); j++){ //依次判断字符串中每一个字符 if (s[j] > '1') a[0] = 0; if (s[j] > '7') a[1] = 0; if (s[j] > '9') a[2] = 0; if (s[j] > 'F') a[3] = 0; } cout << a[0] << ' ' << a[1] << ' ' << a[2] << ' ' << a[3] << endl;
- 1
信息
- ID
- 9416
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- 1
- 标签
- 递交数
- 0
- 已通过
- 0
- 上传者