周期串 (Periodic Strings, UVa455)
来源:互联网 发布:mysql下载mac 破解版 编辑:程序博客网 时间:2024/05/21 15:38
如果一个字符串可以由某个长度为k的字符串重复多次得到,我们说该串以k为周期。例如,abcabcabc以3为周期(注意,它也以6和12为周期)。输入一个长度不超过80的串,输出它的最小周期。
样例输入:HoHoHo
样例输出:2
本题巧妙地运用了x = m % n
其中m++
则z
会在0~n
之内循环,运用这个小小的算法进行周期比较,非常的巧妙,看到网上都是用for
循环解题的,我就给改变了一下用while
循环做了一个。附上本人的渣代码。
#include <iostream>#include <string.h>using namespace std;int main(){ char str[100]; int i = 0, j = 0, length; cin >> str; length = strlen(str); while (str[i] != '\0') { i++; if (length % i == 0) { int ok = 1; j = i; while (j < length) { if (str[j] != str[j % i]) { ok = 0; break; } j++; } if (ok) { cout << "周期为:" << i << endl; break; } } } return 0;}
0 0
- UVa455 Periodic Strings(周期串)
- 周期串 Periodic Strings, UVa455
- 周期串 (Periodic Strings, UVa455)
- Uva455-Periodic Strings-周期串
- 周期串(Periodic Strings, UVa455)
- 周期串(Periodic Strings, UVa455)
- 周期串 (Periodic Strings,UVa455)
- 周期串 (Periodic Strings)UVA455
- UVa455 Periodic Strings 周期串AC
- 周期串(Periodic Strings, UVa455)
- 周期串(Periodic Strings,UVa455)
- UVa455 Periodic Strings 周期串 (java版本)
- 习题3-4 周期串(Periodic Strings, UVa455)
- 习题3-4 周期串(Periodic Strings, UVa455)
- Periodic String,UVa455(周期串)
- 周期串(Periodic Strings)
- 《算法竞赛入门经典2ndEdition 》习题3-4 周期串(Periodic Strings, Uva455)
- 算法竞赛入门经典-习题3-4 周期串(Periodic Strings, UVa455)
- C#连接SQL简单操作
- 十进制数字字符串转换成十六进制数字字符串方法
- drawRect-饼状环形图
- 跟我一起云计算(3)——hbase
- 最新 Spring 4.2.2 集成 Quartz Scheduler 2.2.2 任务调度示例
- 周期串 (Periodic Strings, UVa455)
- Hibernate与 MyBatis的比较
- EasyDarwin编译armeabi版本的so库
- LeetCode 447. Number of Boomerangs
- MongoDB数据文件结构
- ie9中css3 ransform: rotate()
- MongoDB安装时出现的问题
- 外观模式Facade
- BIO通信模型图