问题:
如果一个字符串可以由某个长度为k的字符串重复多次得到,则该串以k为周期。
例如,abcabcabcabc以3为周期(注意,它也以6和12为周期)。
输入一个长度不超过80的串,输出它的最小周期。
样例输入:helpshelpshelpshelps
样例输出:5
样例输入:helps
样例输出:1
解:
public class Main {
public static void main(String[] args) {
Scanner out = new Scanner(System.in);
String s = out.next();
int len = s.length();
int ok = 1;
for (int i = 1; i <= len / 2; i++) {
if (len % i != 0)
continue;
ok = 1;
for (int j = i; j < len; j++) {
if (s.charAt(j) != s.charAt(j % i)) {
ok = 0;
break;
}
}
if (ok == 1) {
System.out.println(i);
break;
}
}
if (ok == 0) {
System.out.println(s.length());
}
}
}