酷代码 AI
菜单
服务商

用 C++ 计算 1 到 n 之间回文数的个数

以下是使用 C++ 解决此问题的代码: ```cpp #include <iostream> using namespace std; // 判断一个数是否为回文数的函数 bool isPalindrome(int num) { int originalNum = num; int reversedNum = 0; // 反转数字 while (num > 0) { int digit = num % 10; reversedNum = reversedNum * 10 + digit; num /= 10; } // 判断反转后的数字是否和原数字相等 return originalNum == reversedNum; } int main() { int n; cin >> n; int count = 0; // 遍历从 1 到 n 的所有数字 for (int i = 1; i <= n; i++) { if (isPalindrome(i)) { count++; } } cout << count << endl; return 0; } ``` ### 代码解释: 1. **`isPalindrome` 函数**:此函数用于判断一个数是否为回文数。它接收一个整数作为参数,通过不断取余和整除操作将该数反转,最后比较反转后的数和原数是否相等。若相等,则该数为回文数,函数返回 `true`;否则返回 `false`。 2. **`main` 函数**: - 首先从标准输入读取一个整数 `n`。 - 初始化计数器 `count` 为 0。 - 使用 `for` 循环遍历从 1 到 `n` 的所有整数。 - 对于每个整数,调用 `isPalindrome` 函数判断其是否为回文数,若是则计数器 `count` 加 1。 - 最后输出计数器 `count` 的值,即 1 到 `n` 之间回文数的个数。 ######[AI问答 | 468点数解答 | 2026-04-12 16:10:36]

相关提问
本站限时免费提问中
实用工具查看更多
Linux在线手册 [开发类]
Jquery在线手册 [开发类]
今日油价 [生活类]
图片互转base64 [开发类]
时间转换器 [开发类]