输入格式
第一行,一个整数N,表示截获到的信号的长度
第二行一个长度为N的字符串,表示这个信号
输出格式
这个信号的最小重复单位的长度
样例
样例输入1
6
233233
Copy
样例输出1
3
Copy
样例输入2
8
12312341
Copy
样例输出2
8
Copy
解释
233233这个字符串的最小重复单位为233,其长度为3
12312341这个字符串最小重复单位是他自己,长度为8
数据范围与提示
1 <= N <= 1000
#include<stdio.h>
#include<string.h>
int p(char *s,int n){
for(int t=1;t<=n;t++){//枚举周期t
if(n%t==0){//周期t一定是长度n的倍数
int flag=1;
for(int i=0;i<n;i++){//遍历数组判断t是否是周期
if(s[i]!=s[i%t]){//若t是周期,则下标i与i%t对应的字符相同
flag=0;
break;
}
}
if(flag==1)return t;
}
}
return n;
}
int main(){
int n;
scanf("%d",&n);
char s[10010];
scanf("%s",s);
int l=strlen(s);
int T=p(s,l);
printf("%d",T);
return 0;
}