周期字符串!

输入格式

第一行,一个整数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;
} 
相关推荐
地平线开发者几秒前
Horizon 模型多 Batch 配置
算法·自动驾驶
lilili也3 分钟前
C++:类
c++
L_09074 分钟前
【C++】智能指针
开发语言·c++·智能指针
czhaii13 分钟前
GB2312简体中文编码表
单片机·算法
春栀怡铃声14 分钟前
【C++修仙录02】筑基篇:适配器
c++
8Qi822 分钟前
LeetCode 121 & 122:股票买卖问题(DP 对比题解)✅
算法·leetcode·职场和发展·动态规划
LuminousCPP24 分钟前
从零开始学 C++|系列开篇:从 C 到 C++ 的衔接之路
开发语言·c++·笔记
一只齐刘海的猫33 分钟前
【Leetcode】 接雨水
java·算法·leetcode
星恒随风35 分钟前
C++ 类和对象入门(一):从 class、访问限定符到 this 指针
开发语言·c++·笔记·学习·状态模式
赵民勇36 分钟前
如何查看一个二进制程序是否设置了rpath或runpath?
linux·c++