思路是找到字符串的约数作为循环次数,判断子串循环n次是否和母串相等 读取前m项用s.substr(0,m);
#include <iostream>
#include <string>
using namespace std;
int main(){
string s,a,b;
while(cin>>s,s!="."){
int m,n;
int len=s.size();
for(n=len;n>0;n--){
if(len%n==0){
m=len/n;
a=s.substr(0,m);
b.clear();
for(int j=0;j<n;j++){
b+=a;
}if(b==s){cout<<n<<endl;
break;}
}
}
}
return 0;
}