【算法竞赛 入门经典】习题3-4 周期串(Uva455)
程序员文章站
2022-04-08 09:13:51
...
一、题目
二、解题思路
周期串的长度,应该可以被整个串的长度整除。一一尝试可以被整串长度整除的i,然后尝试将整个串分成一个个长度为i的段。将每段与0-i的对应的内容相对比,看是否相同。
三、代码
#include<stdio.h>
#include<string.h>
char s[85];
int main(){
int N;
scanf("%d",&N);
while(N--){
memset(s,0,sizeof(s));
scanf("%s",s);
int len=strlen(s);
int i,j;
for(i=1;i<=len;i++){
if(len%i==0){
for(j=i;j<=len;j++){
if(s[j]!=s[j%i]){
break;
}
}
if(j==len){
printf("%d\n",i);
break;
}
}
}
if(N){
printf("\n");
}
}
return 0;
}