周期字符串!

输入格式

第一行,一个整数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;
} 
相关推荐
weixin_424183616 小时前
开放—封闭原则实战(下):基于策略的流程编排与编译期多态
c++·分布式·系统架构
Logic1016 小时前
C语言/数据结构位运算题解:异或XOR找出学习计划中的“独特学习时间“——只出现一次的数字
c语言·数据结构·数组·位运算·时间复杂度·算法题·异或性质
wuminyu6 小时前
C++协程实现接收端的零拷贝Buffer管理原理剖析
java·linux·c语言·jvm·c++
小蒋学算法6 小时前
算法-交替删除操作后最后剩下的整数-跟着灵茶山艾府学算法
数据结构·算法
m0_380743876 小时前
C++中的freopen的用法实例详解
开发语言·c++
荆棘鸟智能7 小时前
林业遥感长势评估怎么做?从NDVI时序分析到LiDAR蓄积量回归
人工智能·算法·智慧林业
jimy17 小时前
polymorph.cpp里面的“析构函数、智能指针”问题
开发语言·c++
hhb_6187 小时前
AIRAGDebug:一键定位RAG链路异常
人工智能·python·算法
朝朝辞暮i8 小时前
C++ 第 6 课:switch —— 多状态选择
开发语言·c++·算法
朝朝辞暮i8 小时前
C++ 第 4 课:if / else —— 让程序自己做决定
开发语言·c++