问题:2 回文数
问题描述:
1221是一个非常特殊的数,它从左边读和从右边读是一样的,编程求大于等于n的所有这样的四位十进制数。
输入说明 :
输入一个整数n,n<9999
输出说明 :
按从小到大的顺序输出满足条件的四位十进制数。
输入范例 :
9888
输出范例 :
9889
9999
思路:
对付回文数的题在基础见过太多次了,我的基本思路是把一个数转为字符串,再使用reverse判断前后字符串是否相等
代码实现:
#include<bits/stdc++.h>
using namespace std;
bool IsHuiwen(int num)
{
stringstream ss;
ss<<num;
string str1(ss.str());
string str2(str1);
reverse(str2.begin(),str2.end());
return str2==str1;
}
int main()
{
int n;
cin>>n;
while(n<1000)
n++;
while(n<10000)
{
if(IsHuiwen(n))
cout<<n<<endl;
n++;
}
}