Description
如果一个字符串可以被某个长度为k的字符串重复多次得到,则称这个字符串的周期为k。例如,字符串“abcabcabcabc”以3为周期(当然,他也以6、12等等为周期)。 现在请你编写一个程序,求出任一长度不超过80的字符串的最小周期。Input输入首先是一个整数n,代表有n组数据。 每组数据占一行,是一个长度不超过80的字符串。 两组相邻的输入之间有一个空行。Output每组数据在一行内输出一个整数k,代表该字符串的最小周期。 两组相邻的输出之间应当有一个空行。
Sample Input
2abcabcabcHoHoHoSample Output
32 解答:
#include#include #include using namespace std;char s[100],a;int l,n;int solve(){ bool b=1; memset(s,0,sizeof(s)); scanf("%s",&s); l=0; while(s[l]!=0) l++; for(int i=1;i<=l;i++)//长度 { if(l%i==0) { b=1; for(int j=0;j