最小回文串

作者在 2013-11-06 19:56:19 发布以下内容
Problem Description 

若一个数正向看和反向看等价,则称做回文数。例如:6, 2552, 12321均是回文数。
给出一个正整数n,求比n大的最小的回文数。(n和运算结果均不会超出正整数范围)

Input

输入数据首先包含一个整数T,表示测试实例的个数,然后是T行测试数据。每行包括1个正整数n。

Output

对于每组测试数据n。输出比n大的最小的回文数。

Sample Input
4
1
10
12
123456
Sample Output
2
11
22
124421



 #include<iostream>
using namespace std;
int ReverseNum(int x) 
{
 int r=0;
 while(x>0)
 {
 r = r*10 + x%10; 
 x = x/10;
 }
 return r;
}


bool isSymmetric(int n)
{ 
 if(n==ReverseNum(n))
 return true;
 else
 return false;
}


int main()
{
 int T;
 cin>>T;
 for(int i=0; i<T; i++)
 {
 int n;
 cin>>n;
 n++;
 while(true)
 {
 if(isSymmetric(n)==true) break;
 n++;
 }
 cout<<n<<endl;
 }
 return 0;
}

默认分类 | 阅读 2860 次
文章评论,共0条
游客请输入验证码
浏览18803次
文章分类
最新评论