AcWing 777. 字符串乘方
原题链接
困难
作者:
古娜拉黑暗之神
,
2021-02-21 20:52:31
,
所有人可见
,
阅读 268
#include<iostream>
#include<string>
using namespace std;
int main(){
string s;
while(true){
cin >> s; //先读入第一个字符串
if(s == "."){
break;
} // 循环结束位置
int len = s.size();
for(int n = len;n>0;n--){
if(len % n == 0){ //n是次数
int m = len/n; //m是循环节长度
string a = s.substr(0,m); // 把前m个字符存到b变量
string b;
for(int i=0;i<n;i++){
b = b + a;
} //把循环节重复n次
if(b == s){ //把重新拼成的字符串与原字符串相比较
cout << n << endl; //要是相等的话,输出次数
break;
}
}
}
}
return 0;
}