如果一个字符串可以由某个长度为k的字符串重复多次得到,则称该串以k为周期。例如abcabcabc以3为周期(注意,它也以6和12为周期)。输入一个长度不超过80的字符串,输出其最小周期
#include<stdio.h>
int main()
{
char a[100];
int len;
int b=0;//判断变量
int k;
scanf("%s",a);
len=strlen(a);
for(k=1;k<=len&&b==0;k++)
{
if(len%k!=0)//判断能否取周期
continue;
b=1;
for(int i=1;i<(len/k);i++)//分成每段来验证
{
for(int j=0;j<k;j++)//每段验证
{
if(a[i*k+j]!=a[j])
{b=0;break;}
}
if(b) break;
}
}
printf("%d\n",k-1);//最后循环中k++了一次所以要-1
}