描述
当一个正整数正着读和倒着读都一样是,这个数被称为回文数。
现在给出一个正整数N,请求出N右边离它最近的那个回文数。N≤10的100000次方。
输入
第一行给出T(T≤30),表示有T组数据。
接下来的T行,每行有一个数字。
输出
每一行输出每一组数据的下一个回文数。
#include<stdio.h>
#include<math.h>
int main()
{
int t,i,j,flag,n;
scanf("%d",&t);//输入第一个组数
if(t==0||t>pow(10.0,100000))return 0;
for(j=0; j<t; j++)
{
flag=1;
scanf("%d",&n);
i=n+1;
while(flag){
if(nixu(i)==i){flag=0;printf("%d\n",i);}
else i++;
}
}
return 0;
}
int nixu(int n)
{
int m=0;
while(n)
{
m=m*10+n%10;
n=n/10;
}
//printf("回文 %d\n",m);
return m;
}