周期串
时间限制:
1000 ms | 内存限制:
65535 KB
难度:
1
-
描述
-
一个字符串可以由长度为k的字符串重复多次得到,我们说该串以k为周期,例如abcabcabcabc 以3为最小周期(注意它也可以以6和12为周期)
我们输入一个不超过200的串,输出它的最小周期(字符串区分大小写)
-
输入
- 有多组测试数据,每组输入一个字符串 输出
- 输出相应字符串的最小周期 样例输入
-
abcabcabcabc abcd
样例输出
-
3 4
-
#include<stdio.h> #include<string.h> char a[205],b[205]; int main() { int i,j,k,lea,leb; while(scanf("%s",a)!=EOF) { lea=strlen(a); leb=0; for(i=0;i<lea;i++) { b[leb++]=a[i]; if(lea%leb==0) { for(j=leb,k=0;j<lea;j++,k++) { if(k==leb) k=0; if(a[j]!=b[k]) break; } if(j==lea) { printf("%d\n",leb); break; } } } } return 0; }