最大次数肯定是字符串长度嘛,从字符串最大长度往1开始循环,每一层判断是否满足条件
条件就是每个循环子串每一个字符的下标加上循环子串的长度是否和自己相等
(菜鸡代码,表达能力捉急)
#include<bits/stdc++.h>
using namespace std;
int main()
{
string a;
while(cin>>a)
{
if(a.back()=='.') break;
for(int i=a.size();i>=1;i--)
{
if(a.size()%i!=0) continue;
int div=a.size()/i;
int tmp=0;
for(int j=0;j<a.size()-div;j++)
{
if(a[j]!=a[j+div])
{
tmp++;
break;
}
}
if(tmp==0)
{
cout<<i<<endl;
break;
}
}
}
return 0;
}