给定两个字符串 a 和 b,我们定义 a×b 为他们的连接。
例如,如果 a=abc
而 b=def
, 则 a×b=abcdef
。
如果我们将连接考虑成乘法,一个非负整数的乘方将用一种通常的方式定义:a0=""(空字符串),=。
输入格式
输入包含不超过 1010 组测试样例,每组测试样例占一行。
每组样例包含一个由小写字母构成的字符串 s,s 的长度不超过 100,且不包含空格。
最后的测试样例后面将是一个点号作为一行。
输出格式
对于每一个 s,你需要输出最大的 n,使得存在一个字符串 a,让 s=。
输入样例:
abcd
aaaa
ababab
.
输出样例:
1
4
3
#include<iostream>
using namespace std;
int main() {
string s;
while (true) {
cin >> s;
if (s == ".")return 0;
else {
int cnt = 1;
for (int i = 1; i <= s.length(); i++) {
string tmp = "";
for (int j = 0; j < i; j++)
tmp += s[j];
if (s.length() % tmp.length() == 0) {
string result = "";
int j = s.length() / tmp.length();
while (j--)result += tmp;
if (result == s) {
cnt = max(cnt, i);
break;
}
}
}
cout << s.length()/cnt << endl;
}
}
return 0;
}