简单粗暴,子串从短到长挨个检查是否符合,符合立即输出;
字串长度不能整除,直接跳过。
#include<iostream>
#include<string>
#include<algorithm>
using namespace std;
int main(void)
{
string str;
while(cin>>str,str!=".")
{
string temp;
for(size_t i=1;i<=str.size();++i)
{
if(str.size()%i)
continue;
temp=str.substr(0,i);
bool isp=true;
for(size_t j=i;j<str.size();j+=i)
if(str.substr(j,i)!=temp)
{
isp=false;
break;
}
if(isp)
{
cout<<str.size()/i<<endl;
break;
}
}
}
return 0;
}
妙啊