周期字符串!

输入格式

第一行,一个整数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;
} 
相关推荐
aaPIXa622几秒前
C++采样引导优化SPGO——比PGO更智能的编译器决策新方案
java·c++·人工智能
2301_800895108 分钟前
信息安全数学基础复习
算法
爱折腾的小黑牛16 分钟前
简记往来批量录入功能的实现:从文本到结构化数据
前端·算法
Starmoon_dhw31 分钟前
题解:P17078 夏日甜点
c++·学习·算法·图论
某不知名網友34 分钟前
C/C++动态内存管理,智能指针及RAlI思想。
java·c语言·c++
海石1 小时前
【JS击败90%】前缀和+定长滑动窗口
算法·leetcode
hold?fish:palm1 小时前
从源码到可执行文件:C++程序的编译过程
开发语言·c++
Tisfy1 小时前
LeetCode 2685.统计完全连通分量的数量:DFS求每个连通块的边点数
算法·leetcode·深度优先··题解·连通图·全连通分量
海石2 小时前
1次遍历,空间复杂度击败100%,时间复杂度击败85%
算法·leetcode
lingran__2 小时前
C++_STL简介
开发语言·c++