C++程序:求解任意进制数经最少步数转换为回文数的奥秘
```cpp #include <iostream> #include <string> #include <algorithm> using namespace std; string add(string num1, string num2, int n) { string result; int carry = 0; int i = num1.size() - 1, j = num2.size() - 1; while (i >= 0 || j >= 0 || carry) { int digit1 = (i >= 0) ? (isdigit(num1[i]) ? num1[i] - '0' : num1[i] - 'A' + 10) : 0; int digit2 = (j >= 0) ? (isdigit(num2[j]) ? num2[j] - '0' : num2[j] - 'A' + 10) : 0; int sum = digit1 + digit2 + carry; carry = sum / n; int digit = sum % n; if (digit < 10) { result.push_back(digit + '0'); } else { result.push_back(digit - 10 + 'A'); } i--; j--; } reverse(result.begin(), result.end()); return result; } bool isPalindrome(string num) { int left = 0, right = num.size() - 1; while (left < right) { if (num[left] != num[right]) { return false; } left++; right--; } return true; } int main() { int n; string m; cin >> n >> m; int steps = 0; while (steps <= 30) { if (isPalindrome(m)) { cout << steps << endl; return 0; } string reversed = m; reverse(reversed.begin(), reversed.end()); m = add(m, reversed, n); steps++; } cout << "Impossible" << endl; return 0; } ``` ######[AI问答 | 491点数解答 | 2025-09-26 19:16:14]
- Python 函数:如何高效检测字符串是否为回文,注意这些逻辑点!(字节豆包 | 151点数解答 | 2024-11-21 13:18:49)144
- Python 实现:超详细回文检测函数,处理空格标点、空串与递归边界!(字节豆包 | 244点数解答 | 2024-11-21 13:21:58)150
- 探秘 19 进制:揭开 X 星球记数方式的神秘面纱(GPT | 268点数解答 | 2024-11-17 09:04:06)128
- Python 实现:轻松将十进制数转换为 2 - 36 进制数(字节豆包 | 509点数解答 | 2026-01-02 19:40:44)50
- Python 实现:将十进制整数高效转换为 x 进制的详细解析(字节豆包 | 499点数解答 | 2026-01-10 20:39:11)33
- 揭秘!十进制数到负进制数的转换程序及代码详解(DeepSeek | 490点数解答 | 2026-01-20 17:31:14)34
- 不用VS!C#工程师必知的命令行编译方法(百度文心 | 19点数解答 | 2023-11-09 17:47:59)241
- C++实现单门课程成绩管理系统:教师学生双身份操作全解析(GPT | 6361点数解答 | 2024-05-24 02:01:02)534
- C++实现:功能完备的单门课程成绩管理系统(GPT | 4293点数解答 | 2024-05-24 10:20:03)376
- C++ 实现:轻松将键盘输入字符串大写字母转小写并输出(讯飞星火 | 191点数解答 | 2024-06-06 20:27:13)214
- C++ 实现:根据人员行为记录计算同学间好感度(字节豆包 | 252点数解答 | 2024-10-17 15:50:40)333
- C++程序:根据事件记录计算并输出多人好感度变化结果(阿里通义 | 698点数解答 | 2024-10-17 15:53:50)208