题目描述
如果一个字符串可以由某个长度为k的字符串重复多次得到,则该串以k为周期。例如,abcabcabcabc以3为周期(注意,它也以6和12为周期)。
输入
输入一个长度不超过80的串。
输出
输出它的最小周期。
样例输入
abcabcabcabc
样例输出
3
注意:此代码C++语言执行
#include <iostream>
#include <cstdio>
#include <cstring>
int main()
{
char a[80];
int T;
while(scanf("%d",&T)!=EOF)
{
scanf("%s",a);
int len = strlen(a);
for(int j = 1 ; j <= len ; j++)
if(!(len%j))
for(int i = 0;i < len;i ++)
{
if(a[i]!=a[i%j])
break;
if(i == len-1)
{
printf("%d\n",j);
j = len+1;
}
}
}
return 0;
}