22 现代诗如蚯蚓
作者: Turbo时间限制: 1S章节: 枚举
问题描述 :
现代诗如蚯蚓
断成好几截都不会死
字符串断成好几截
有可能完全一样
请编写程序
输入字符串
输出该字符串最多能断成多少截完全一样的子串
样例输入
abcabcabcabc
样例输出
4
样例说明
最多能断成四个”abc”,也就是abc重复四遍便是原串
同时也能断成两个”abcabc”
最坏情况是断成一个原串”abcabcabcabc”
输入说明 :
一行,一个字符串
字符串长度<=1000
输出说明 :
一行,一个正整数表示该字符串最多能断成的截数
输入范例 :
abcdabcabcabc
输出范例 :
1
#include<stdio.h>
#include<string.h>
int main(){
char str[1001];
int i,j,k,len,sum=1,num=0,flag,max=1;
gets(str);
len=strlen(str);
while(++num<len){
if(len%num!=0)continue;
flag=0;
//循环步长,逐个字符比较
for(i=0;i<num;i++){
//每一个字符当前位置+偏移量,
for(j=i,k=0;j<len;j=++k*num+i){
if(str[i]!=str[j]){
flag=1;
break;
}
}
if(flag)break;
}
if(flag==0 && k>sum)sum=k;
}
printf("%d\n",sum);
return 0;
}