周期字符串!

输入格式

第一行,一个整数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;
} 
相关推荐
erzong2312 分钟前
Linux操作系统:线程概念与控制
linux·算法
wuminyu36 分钟前
JMM学习总结:深入理解happens-before关系
java·linux·c语言·jvm·c++
Nil20840 分钟前
leetcode 5最长回文子串
算法·leetcode·职场和发展
xxwl58544 分钟前
区域赛分类题解
c++·笔记·学习·算法
m0_674571971 小时前
力扣 hot 100 python
python·算法·leetcode
青少儿编程课堂1 小时前
蓝桥杯+全国青少年信息素养大赛+电子学会PythonC/C++考级:最长公共子序列LCS解析
c++·python·算法·bfs·信息学竞赛
倚楼听风语3 小时前
Kotlin 协程与 suspend 原理详解
java·算法·kotlin
程序员清风3 小时前
双指针与滑动窗口:高效处理连续区间
开发语言·算法
代钦塔拉3 小时前
【C++/Qt 进阶】设计模式系列(2):工厂模式——从游戏角色到披萨店
c++·算法·设计模式
思茂信息3 小时前
电磁仿真学涉及哪些算法?
人工智能·算法·数学建模·matlab·emc·电磁仿真·仿真辐射