回文分裂:一道比较类似模拟的题
初思路是想着一直判断,用一个while,再记录一下
就是递归函数吧
代码写上了:
bool hw(char *p,int n)
{
for(int i=0;i<n/2;i++)
{
if(p[i] != p[n-i-1])
return false;
}
return true;
}
int fl(char *p,int n)
{
if(hw(p,n))
{
return fl(p,n/2);
}
return n;
}
int main()
{
char a[10001];
cin>>a;
int n = fl(a,strlen(a));
if(n==strlen(a))
cout<<"0"<<endl;
else
cout<<strlen(a)/n<<endl;
return 0;
}
while可以
可不可以给一下洛谷题号 我去洛谷里看看
#include<bits/stdc++.h>
using namespace std;
char a[150],b[150];
int lll;
int main(){
int cnt=1;
scanf("%s",a);
lll=strlen(a);
while(lll!=1){
char b[150];
int i,j=0;
for(i=lll-1;i>=0;i--) b[j++]=a[i];
b[j]='\0';
if(strcmp(a,b)!=0) break;
lll/=2;
cnt*=2;
}
/int lll=strlen(a),i,j=0;
for(i=lll-1;i>=0;i--){
b[j++]=a[i];
//printf("%c")
}
cout<<lll;
b[j]='\0';
if(strcmp(a,b)==0){
printf("yes");
}
else printf("no");/
cout<<cnt;
return 0;
}
家人们咱就是说错了三个样例谁能帮我改一下呜呜呜呜呜呜呜