若周期串长度为质数,那么周期为长度本身。
若其为合数则从其因子中寻找周期。
#include <stdio.h>
#include <string.h>
#define maxn 85
char s[maxn];
int main()
{
int i;
scanf("%s",s);
int n=strlen(s);
int flag=1;
for(i=1; i<n/2; i++){
if(n%i==0){
int j;
for(j=0; j<n-i; j++){
if(s[j]==s[j+i])
continue;
else
break;
}
if(j==n-i){
flag = 0;
printf("%d\n",i);
break;
}
}
}
if(flag)
printf("%d\n",n);
return 0;
}