题意:如果一个字符串可以由长度为k的字符串重复得到,则称该串以k为周期。
输入一个长度不超过80的字符串,输出其最小周期。
想法:一开始想复杂了,其实不难,从1开始到字符串的长度,遍历每个周期,如果符合,则跳出。
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main()
{
char s[100];
memset(s,0,sizeof(s));
scanf("%s",s);
int i,j,OK=1;
for(i=1;i<=strlen(s);i++){
OK=1;
for(j=i;j<strlen(s);j++){
if(s[j]!=s[j%i]){
OK=0;
break;
}
}
if(OK){
printf("%d\n",i);
break;
}
}
return 0;
}