#include<bits/stdc++.h>
using namespace std;
int l,i,f; char s[201],k[201];
int main(){
scanf("%s",s);
l=strlen(s)-1;//下面是特判
while(s[i++]==‘9‘)if(i==l+1)for(s[0]=‘1‘,l++;i>0;i--)s[i]=‘0‘;
for(i=0;i<=l-i;i++)k[i]=k[l-i]=s[i];
if(strcmp(k,s)<=0){//小于原数的话中间要加1!
while(k[--i]==‘9‘);k[i]=k[l-i]=++k[i];
for(i++;i<=l-i;i++)k[i]=k[l-i]=‘0‘;
}cout<<k;
return 0;
}
//对于特判的解释:
//像9999可以直接转换成10000来算。
原文:https://www.cnblogs.com/812-xiao-wen/p/9879208.html