作者在 2013-11-06 19:56:19 发布以下内容
Problem Description
给出一个正整数n,求比n大的最小的回文数。(n和运算结果均不会超出正整数范围)
Input
输入数据首先包含一个整数T,表示测试实例的个数,然后是T行测试数据。每行包括1个正整数n。
Output
对于每组测试数据n。输出比n大的最小的回文数。
Sample Input
4 1 10 12 123456Sample 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;
}