欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

1255: 周期串

程序员文章站 2024-03-16 16:01:04
...

题目

Description

如果一个字符串可以由某个长度为k的字符串重复多次得到,我们说该串以k为同期。例如,abcabcabcabc以3为周期(注意,它也以6和12为周期)。

Input

连续输入一个长度不超过80的字符串。

Output

输出它的最小周期并换行。

Sample Input

HoHoHo
HelloHello
Sample Output

2
5

代码块


import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner cn = new Scanner(System.in);
        while (cn.hasNext()) {
            String str = cn.next();
            char[] ch = str.toCharArray();
            int length = ch.length, j, k = 1;
            for (int i = 0; i < length;) {
                for (j = 1; j < length; j++) {
                    if (ch[i] == ch[j]) {
                        k = j - i;
                        i++;
                    } else
                        i = 0;
                }
                if(j>=length) break;
            }
            System.out.println(k);
        }
    }
}