问题描述:

如果一个字符串可以由某个长度为n的字符串重复多次得到,则该串以n为周期。例如,abcabcabcabc以3为周期(注意,它也以6和12为周期)。

输入一个长度不超过100的串,输出它的最小周期。

样例输入:ChinaChinaChina

样例输出:5

问题分析:

字符串可能有多个周期,但是只需求出最小的一个。可以从小到大枚举各个周期(即从1到字符串大小),一旦符合条件就立即输出。当不是周期串时输出

的最小周期即为其本身长度。

代码如下:

#include <stdio.h>
#include <string.h>int main()
{char str[101];scanf("%s", str);int i, j, flag=1;//i记录周期长度,j记录从第二个周期开始字符的位置int len = strlen(str);//len为字符串长度for(i=1; i <= len; i++)if(len%i == 0)//字符串的长度一定可以被周期整除{flag = 1;//检测 字符串是否具有周期性for(j=i; j<len; j++)//str[i]为第二周期的第一个字符{if(str[j] != str[j%i]){flag = 0;break;}}if(flag)//找到周期跳出break;}printf("%d\n", i);return 0;
}

字符串最小周期串问题相关推荐

  1. 周期串java_求最小周期串

    如果一个字符串可以由某个长度为k的字符串重复多次得到,则该串以k为周期.例如,abcabcabcabc以3为周期(注意,它也以6和12为周期).输入一个长度不超过80的串,输出它的最小周期. 样例输入 ...

  2. ACM学习历程23——最小周期串问题

    最小周期串问题属于字符串操作的基本题型之一,要求给定一个字符串找出其中最小的周期长度和最小周期子串.对于周期串的定义如下:如果一个字符串是以一个或者一个以上的长度为K的重复字符串连接成的,那么这个字符 ...

  3. C++算法9:KMP应用求字符串最小周期

    1.输入重复序列的字符串,如果周期不存在,输出NO,如果周期存在,输出最小周期. 2.代码: # include <iostream> # include <string>us ...

  4. XDOJ最小周期串 297

    这个博主的代码写得非常好 get到一直新知识点,周期类问题用取余数的方法很好做.

  5. 基础题目选解_字符串(QWERTY,TEX括号 , 周期串)

    字符串 QWERTY 敲键盘,网游错一位,还原输出.(终于知道为什么有的题目写的那么简单了....) #include <stdio.h> char *s="`123456789 ...

  6. 周期字符串的最小周期

    题目描述 右右喜欢听故事,但是右右的妈妈总是讲一些"从前有座山,山里有座庙,庙里有个老和尚给小和尚讲故事,讲的什么呢?从前有座山--"这样循环的故事来搪塞右右. 我们定义,如果一个 ...

  7. 周期串 字符串的最小正周期

    输入一个长度不超过80的字符串,输出它的最小周期. 例子输入:HoHoHo 例子输出:2 代码: #include<iostream> #include<string.h> i ...

  8. uva455periodic strings周期串

    http://acm.hust.edu.cn/vjudge/contest/view.action?cid=93800#problem/D 题意:输入一串长度不超过80的字符串,这个字符串可由一个字符 ...

  9. nyoj1121周期串

    题目链接:http://115.159.40.116/problem_show.php?pid=5661 http://acm.nyist.net/JudgeOnline/problem.php?pi ...

最新文章

  1. 如何为windows服务添加安装程序(转)
  2. SQL调优--记一次表统计信息未及时更新导致查询超级慢
  3. 用户模式 VS 内核模式(1)
  4. Java基础面试16问
  5. 分久必合的Lindorm传奇
  6. The requested URL /server-status was not found on this server
  7. Shell脚本实现模拟并发及并发数控制
  8. C# WinForm绘图相关
  9. 不删除文字聊天的微信清理工具,快速释放空间,Python 编写,附源码
  10. 内外网同时上怎么设置
  11. 使用清华源镜像安装pytorch
  12. Ubantu18.04上配置cuda10.0和cudnn
  13. 2015年网易考拉海淘android面试
  14. 微信公众号用户授权登录逻辑
  15. 史上最全Python快速入门教程,让你快速入门python学好python
  16. obs源码分析【八】:显示器采集
  17. 47 On Interpersonal Relationship 关于人际关系
  18. revit中的楼板开洞做法?如何快速一键开洞?
  19. 如何修复AIrPods不断与iPhone断开连接的小技巧
  20. 从0到1,一个普本学生的三年学习历程

热门文章

  1. 利用filezilla更快完成作业上传
  2. 我想给你一个家 -- 给我一次爱你的机会
  3. c# 单纯形法_单纯形法实验报告.doc
  4. CF817D Imbalanced Array(单调栈)
  5. 睡眠不足,让你更易神游网络不思工作
  6. 推荐一个动漫风格转换的开源项目!可在线运行
  7. flink-1.11 Application 模式
  8. vue-router使用pathMatch(catchAll)+redirect报错Discarded invalid param(s) “pathMatch“ when navigating
  9. clearfix的用法
  10. 【已解决】报错qt.qpa.plugin: Could not load the Qt platform plugin “windows“ in “...“ even though it was