C++ 代码
#include <iostream>
using namespace std;
int main()
{
string s;
while(cin >> s && s != ".")
{
string a;
for(int i = 1; i <= s.size(); i ++)
{
int cnt = 1;
if(s.size() % i == 0) // 乘方a^n = s,则a的长度一定是s长度的约数 如:ababc 不可能有乘方
a = s.substr(0, i);
else
continue;
int n = s.size() / a.size();
for(int j = 0; j < n - 1; j ++)
{
a += s.substr(0, i);
cnt ++;
}
if(a == s)
{
cout << cnt << endl;
break;
}
}
}
return 0;
}