UVa 455 Periodic Strings(周期串)
来源:互联网 发布:淘宝行业分析软件 编辑:程序博客网 时间:2024/04/30 14:41
UVa 455 Periodic Strings(周期串)
UVa题目链接
题目名称:周期串
题目描述:
如果一个字符串可以由某个长度为k的字符串重复多次得到,则称该串以k为周期,例如,abcabcabcabc以3为周期(注意它以6和12为周期)
输入一个长度不超过80的字符串,输出其最小的周期。
题目分析:
题目需要找最小的周期,现在假设我们有一个很长的字符串n,周期的可能性为1到n,所以我们可以采用一个for循环将周期从1枚举到n如果满足条件,这直接break跳出循环,输出i,反之则继续。这样就无形中满足了最小这个要求。
满足周期性需要的条件:
①字符串的个数能整除周期;
②第二周期要和第一周期的相等s[j] = s[j%i]
学习笔记:
这道题一定要注意考虑周期为1的情况,还有一个需要注意的是怎么去写这个双循环,注意这种形式,遍历问题,且周期要满足两个条件,我们可以这么考虑,不满足这两个条件之一,直接跳出,否则就全部满足了,直接输出了。
================================================================================
参考代码:
//.c#include <stdio.h>#include <string.h>#define maxn 80 + 20int main(){ char s[maxn]; int T = 0,flag = 1; scanf("%s", s); int len = strlen(s); for(int T = 1; T <= len; T++) { for(int j = T; j <= len; j++) //第二个周期的字符串首字符时是s[T] { if((len % T != 0) || (s[j] != s[j%T])) break; printf("%d\n", T); return 0; } } printf("%d\n", 1); return 0;}
0 0
- UVa 455 Periodic Strings(周期串)
- UVa 455 周期串 (Periodic Strings)
- UVa 455 Periodic Strings(周期串)
- UVa 455 Periodic Strings(周期字符串)
- 小紫书 习题 3-4(UVA 455) 周期串(Periodic Strings)
- UVA 455 Periodic Strings (最短周期串长度)
- UVA.455 Periodic Strings(字符串的最小周期)
- UVa 455 Periodic Strings 【字符串求周期】
- 周期串(Periodic Strings)
- 周期串(Periodic Strings, UVa455)
- 周期串(Periodic Strings, UVa455)
- 周期串 (Periodic Strings,UVa455)
- 周期串 (Periodic Strings)UVA455
- 周期串(Periodic Strings, UVa455)
- 周期串(Periodic Strings,UVa455)
- UVa455 Periodic Strings(周期串)
- 周期串 Periodic Strings, UVa455
- 周期串 (Periodic Strings, UVa455)
- [LeetCode]Climbing Stairs
- 在线HTTP速度测试(响应时间测试)及浏览器兼容测试
- Android中Bundle类的作用
- 中国银行最低还款
- 网站速度慢的原因?!!!
- UVa 455 Periodic Strings(周期串)
- 行走的困疲
- vi编辑命令详解
- android 模拟器
- ”红色“回忆
- cg shader 光照未显示 - 记录
- Unity3D 运营商支付 安卓打包的陷阱 libunicomsdk.jar
- dll转exe方法 适用win32下的开发 C++
- SQL 2008 将已经存在数据的表进行分区