不用函数计算1到n之间回文数个数的C++实现
```cpp #include <iostream> int main() { int n; std::cin >> n; int count = 0; for (int i = 1; i <= n; i++) { int original = i; int reversed = 0; int temp = i; while (temp > 0) { int digit = temp % 10; reversed = reversed * 10 + digit; temp /= 10; } if (original == reversed) { count++; } } std::cout << count; return 0; } ``` ### 代码解释 1. **输入**:使用 `std::cin` 从标准输入读取一个整数 `n`,该整数表示我们要检查的范围上限。 2. **遍历范围**:通过 `for` 循环,从 1 开始逐个检查到 `n` 的每一个整数。 3. **反转数字**:对于每一个整数 `i`,将其赋值给 `original` 保存原始值,同时将其赋值给 `temp` 用于反转操作。在 `while` 循环中,不断取出 `temp` 的最后一位数字(通过 `temp % 10`),并将其添加到 `reversed` 中,同时将 `temp` 除以 10 去掉最后一位数字,直到 `temp` 变为 0,这样就完成了数字的反转。 4. **判断回文数**:比较 `original` 和 `reversed` 是否相等,如果相等,则说明该数是回文数,将计数器 `count` 加 1。 5. **输出结果**:最后使用 `std::cout` 输出 `count` 的值,即 1 到 `n` 范围内回文数的个数。 ### 复杂度分析 - **时间复杂度**:$O(n * log_{10}n)$。因为需要遍历 `n` 个整数,对于每个整数,反转操作的时间复杂度为 $O(log_{10}n)$。 - **空间复杂度**:$O(1)$。只使用了常数级的额外变量,不随输入规模 `n` 的变化而变化。 ######[AI问答 | 528点数解答 | 2026-04-12 16:11:06]
- Python 实现球类:精准计算半径、表面积与体积,附输入验证与异常处理!(阿里通义 | 261点数解答 | 2024-11-28 21:19:39)355
- C 语言实现链表操作:创建、输出、删除及插入功能详解(字节豆包 | 534点数解答 | 2024-12-09 21:33:48)349
- C语言实现链表创建、输出、删除与插入操作的完整代码及注意要点(字节豆包 | 609点数解答 | 2024-12-18 12:18:21)369
- Python 实现:根据甜度值为甜甜圈评定等级(字节豆包 | 243点数解答 | 2025-12-06 18:35:50)93
- 网站密码有效性检查:代码实现与详细解读(字节豆包 | 567点数解答 | 2025-11-26 20:44:53)81
- 职中生用PHP+MySQL+HTML搭建湘绣文化网站,功能全易上手!(DeepSeek | 3146点数解答 | 2025-05-08 23:00:48)212
- Python 函数:如何高效检测字符串是否为回文,注意这些逻辑点!(字节豆包 | 151点数解答 | 2024-11-21 13:18:49)149
- Python 实现:超详细回文检测函数,处理空格标点、空串与递归边界!(字节豆包 | 244点数解答 | 2024-11-21 13:21:58)158
- 51 单片机:定时器 0 实现 8 个 LED 循环点亮,附代码及优化建议(字节豆包 | 1193点数解答 | 2024-12-27 15:10:29)327
- C++实现根据输入年龄输出对应英文单词,附代码及逻辑要点(DeepSeek | 224点数解答 | 2025-02-28 11:15:18)288
- C++ 实现:根据输入年龄输出对应英文年龄段描述及代码详解(DeepSeek | 307点数解答 | 2025-02-28 11:29:56)455
- 救援争先:按到达时间排序难题解析与代码实现(字节豆包 | 693点数解答 | 2025-08-07 10:56:54)225