如果一个字符串可由某个长度为k的字符串重复多次得到,那么该串以k为周期。abcabcabcabc以3为周期(也以6和12为周期)。输入一个长度不超过80的串,输出它的最小周期
关键:设置中间变量ok,整数i作为试验周期的变量,长度模i为0.从i位到最后一位都需要检测str[j]?=str[j%i]
#include<stdio.h>
#include<string.h>
int main()
{
char str[100];
scanf("%s",str);
int len=strlen(str);
int i=0,j=0;
for(i=1;i<=len;i++)
{
if(len % i ==0)
{
int ok=1;
for(j=i;j<len;j++)
{
if(str[j]!=str[j%i])
{
ok=0;
break;
}
}
if(ok){
printf("%d\n",i);
break;
}
}
}
return 0;
}