C++ 实现:判断 N 个数在二进制、八进制、十进制、十六进制下的可能性
以下是实现该功能的 C++ 代码: ```cpp #include <iostream> #include <string> using namespace std; // 检查字符串是否可能为二进制数 bool isBinary(const string& num) { for (char c : num) { if (c != '0' && c != '1') { return false; } } return true; } // 检查字符串是否可能为八进制数 bool isOctal(const string& num) { for (char c : num) { if (c < '0' || c > '7') { return false; } } return true; } // 检查字符串是否可能为十进制数 bool isDecimal(const string& num) { for (char c : num) { if (c < '0' || c > '9') { return false; } } return true; } // 检查字符串是否可能为十六进制数 bool isHexadecimal(const string& num) { for (char c : num) { if (!((c >= '0' && c <= '9') || (c >= 'A' && c <= 'F'))) { return false; } } return true; } int main() { int N; cin >> N; cin.ignore(); // 消耗掉换行符 for (int i = 0; i < N; ++i) { string num; getline(cin, num); bool binary = isBinary(num); bool octal = isOctal(num); bool decimal = isDecimal(num); bool hexadecimal = isHexadecimal(num); cout << binary << " " << octal << " " << decimal << " " << hexadecimal << endl; } return 0; } ``` 代码解释 1. 函数定义: - `isBinary` 函数:遍历字符串中的每个字符,若字符不是 `0` 或 `1`,则返回 `false`,否则返回 `true`。 - `isOctal` 函数:遍历字符串中的每个字符,若字符不在 `0` 到 `7` 之间,则返回 `false`,否则返回 `true`。 - `isDecimal` 函数:遍历字符串中的每个字符,若字符不在 `0` 到 `9` 之间,则返回 `false`,否则返回 `true`。 - `isHexadecimal` 函数:遍历字符串中的每个字符,若字符既不是数字 `0` 到 `9`,也不是字母 `A` 到 `F`,则返回 `false`,否则返回 `true`。 2. 主函数: - 读取输入的整数 `N`,表示要判断的数的个数。 - 使用 `for` 循环读取 `N` 个字符串,并调用上述四个函数分别判断每个字符串是否可能为二进制、八进制、十进制、十六进制数。 - 输出判断结果,用空格分隔,每行输出一个字符串的判断结果。 复杂度分析 - 时间复杂度:对于每个输入的字符串,需要遍历一次,时间复杂度为 $O(k)$,其中 $k$ 是字符串的长度。总共需要处理 $N$ 个字符串,因此总的时间复杂度为 $O(Nk)$。 - 空间复杂度:只使用了常数级的额外空间,因此空间复杂度为 $O(1)$。 ######[AI问答 | 812点数解答 | 2026-01-02 19:28:20]
- C++ 实现:判断 N 个数在二进制、八进制、十进制、十六进制下的可能性(字节豆包 | 812点数解答 | 2026-01-02 19:28:20)47
- Python实现:判断数字在二进制、八进制、十进制、十六进制中的可能性(字节豆包 | 405点数解答 | 2026-01-02 19:43:33)43
- 巧用 Python:判断数字在二进制、八进制、十进制、十六进制中的可能性(字节豆包 | 251点数解答 | 2026-01-02 19:44:35)47
- JS函数 change(n,x):轻松实现数字二进制与八进制转换及注意要点(百度文心 | 436点数解答 | 2025-04-09 22:19:11)137
- 256级灰阶图像压缩为16级灰阶的Python实现(字节豆包 | 675点数解答 | 2026-02-14 20:17:48)31
- 256级灰阶图像压缩为16级灰阶的C++实现方案(字节豆包 | 1080点数解答 | 2026-02-14 20:19:02)25
- Python 实现球类:精准计算半径、表面积与体积,附输入验证与异常处理!(阿里通义 | 261点数解答 | 2024-11-28 21:19:39)343
- 51 单片机:定时器 0 实现 8 个 LED 循环点亮,附代码及优化建议(字节豆包 | 1193点数解答 | 2024-12-27 15:10:29)310
- C++实现单门课程成绩管理系统:教师学生双身份操作全解析(GPT | 6361点数解答 | 2024-05-24 02:01:02)534
- C++ 实现超实用单门课程成绩管理系统,教师学生灵活使用! (GPT | 68点数解答 | 2024-05-24 10:17:09)330
- C++实现:功能完备的单门课程成绩管理系统(GPT | 4293点数解答 | 2024-05-24 10:20:03)376
- C++ 实现游戏赢家判断:巧妙找出满足和条件的最大数 (DeepSeek | 506点数解答 | 2025-06-20 16:18:09)113