直接暴力就可以,注意暴力也要判断下,循环的长度要可以被总长整除再暴力啊。。
//Memory: 1160K
//Time: 266MS
#include <iostream>
#include <string.h>
using namespace std;
char str[1000005];
int main()
{
while(cin>>str)
{
if(str[0]=='.')
break;
int i,j,n,l=strlen(str);
for(i=1;i<=l;i++)
{
n=1;
if(l%i!=0)
continue;
for(j=i;j<=l;j+=i)
{
if(strncmp(str,str+j,i)!=0)
break;
else
n++;
}
if(n*i==l)
break;
}
cout<<n<<endl;
}
return 0;
}