首页 > 代码库 > 周期串
周期串
Problem:
如果一个字符串可以由某个长度为k的字符串重复多次得到,则该串以k为周期。例如,abcabcabcabc
3为周期(注意,它也以6和12为周期)。输入一个长度不超过80的串,输出它的最小周期。
Program:
#include<cstring> #include<string> using namespace std; const int maxn=10009; int main() { char word[maxn]; while(scanf("%s",word)!=EOF) { int str=strlen(word); for(int i=1; i<str; i++) if(str%i==0) { int ok=1; for(int j = i;j< str;j++) if(word[j]!=word[j%i]) { ok=0;break; } if(ok) {printf("%d\n",i);break;} } } return 0; }
周期串
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。