- 根据题意,我们从大到小枚举所有可能的n(n一定被len整除),根据枚举的n,找到字符串截取片段长度
m=len/n
将从0截取的字符串拼接n次,如果它等于原串,则是要找的答案
#include<iostream>
#include<cstring>
using namespace std;
int main(){
string str;
while(cin>>str &&str!="."){
int len= str.size();
for(int n=len;n>=1;n--){
if(len%n==0){
int res=0;
int m=len/n;
string c;
string s=str.substr(0,m);
for(int i=0;i<n;i++){
c+=s;
}
if(c==str){
cout<<n<<endl;
break;
}
}
}
}
return 0;
}