思路:简单模拟即可。判断一下是不是回文,是回文看长度是不是偶数。是偶数的话,说明又可能是回文。依次这样处理。但是只要长度为奇数则一定是原来的长度直接输出即可。
#include<iostream>
#include<cstring>
using namespace std; const int maxn = + ;
char num[maxn]; bool flag(int x){
int p = , q = x-;
while (p < q&&num[p] == num[q]){ ++p; --q; }
if (p < q)return ;
return ;
} int main(){
cin >> num;
int len = strlen(num);
if (len % ){ cout << len << endl; return ; }
while (len / ){
if (flag(len))len /= ;
else break;
if (len % )break;
}
cout << len << endl;
}