回文数是向前和向后读取的相同数字。 例如,141 是回文数,而 144 不是。 现给定一个整数 n,请找出所有不大于 n 的回文数。 输入格式: 一个整数. 输出格式: 多行,每行包含一个回文数。 样例输入: 11 样例输出: 1 2 3 4 5 6 7 8 9 11 限制: 1<=n<=10000 c++
时间: 2024-04-14 17:28:01 浏览: 92
回文数-c++语言-参考
以下是使用C++编写的解决方案:
```cpp
#include <iostream>
#include <string>
using namespace std;
bool isPalindrome(int num) {
string str = to_string(num);
int i = 0, j = str.length() - 1;
while (i < j) {
if (str[i] != str[j]) {
return false;
}
i++;
j--;
}
return true;
}
void findPalindromes(int n) {
for (int num = 1; num <= n; num++) {
if (isPalindrome(num)) {
cout << num << endl;
}
}
}
int main() {
int n;
cin >> n;
findPalindromes(n);
return 0;
}
```
你可以将上述代码保存为一个名为 `palindromes.cpp` 的文件,并使用C++编译器进行编译和运行。输入整数n后,程序将输出所有不大于n的回文数。
希望这个C++代码能够满足你的需求!
阅读全文