看在这道题的数据小,我们很容易想到可以用暴力解决这一题。
但是,我们要注意几个点:
1.被复制的字符串的长度越小, 答案越大.
2.被复制的字符串永远是原字符串的因数.
#include <iostream>
#include <algorithm>
#include <cmath>
using namespace std;
int main()
{
string s;
cin >> s;
int len = s.size();
for(int i = 1; i <= len; i++)//枚举被复制字符串长度
{
if(len % i == 0)//保证原字符串的长度是被复制字符串的倍数(易错点,连我都错了)
{
string a = s.substr(0, i);//被复制字符串
string b = "";
for(int j = 1; j <= len / i; j++)
{
b = b + a;
}
if(b == s)
{
cout << i;
exit(0);
}
}
}
return 0;
}