这题首先要判断对于长度为len的字符串其可能取得的周期,由小到大判断长度的因子是否为周期即可
//AC.
#include <iostream>
#include <cstdio>#include <cstring>
#include <cmath>
#include <algorithm>
using namespace std;
int main()
{
int t;
scanf("%d\n\n",&t);
while(t--)
{
int len;
char a[85],b[85];
memset(b,'\0',sizeof(b));
scanf("%s",a);
if(t!=0) getchar();
len = strlen(a);
for(int i=1;i<=len;i++)
{
if(len%i==0) //判断 i 是否为因子
{
int j;
for(j=0;j+i<len;j++)
{
if(a[j%i]!=a[j+i]) //以前 i +1 个为基准循环判断直到完全匹配
break;
}
if(j+i==len)
{
printf("%d\n",i);
break;
}
}
}
if(t!=0)
printf("\n");
}
return 0;
}