习题3-4 UVa455 Periodic Strings
2015-10-31 20:31
197 查看
要点;
1.输入的字符串一点可以整除最小周期数
2.第一周期与第二周期所对应的字符相等
源代码:
学习心得:
1.利用break跳出循环,
*若有多个循环,break只能跳出最近的那个
(最后一步也可尝试直接用return 0;跳出—-不行,while会没意义,只能输出一个,此处不能用)
1.输入的字符串一点可以整除最小周期数
2.第一周期与第二周期所对应的字符相等
源代码:
#include<stdio.h> #include<string.h> int main() { char s[105]; int len, i,j,t; scanf("%d", &t); while (t--) { scanf("%s", s); n = strlen(s); for (i = 1; i <= len; i++) //i作为周期数的范围,i从1到n中寻找最小周期数 if (len %i == 0) //先判断是否能整除i,减小运算量 { for (j = i; j < len; j++) //如果第一周期与第二周期所对应的数不相等,break跳出循环,i++ if (s[j] != s[j%i]) break; if (j ==len) //如果完全相等,j将等于len,这时输出i的值即为最小周期数 { printf("%d\n", i); if(t) printf("\n"); // 题目要求答案隔行输出 break; //用break跳出循环,达到最小这一隐含条件 } } } return 0; }
学习心得:
1.利用break跳出循环,
*若有多个循环,break只能跳出最近的那个
(最后一步也可尝试直接用return 0;跳出—-不行,while会没意义,只能输出一个,此处不能用)
相关文章推荐
- Android Activity四种启动模式
- Linux
- 安卓Handler机制的简单介绍——随机点名案例
- 占位3
- RK3288 uvc摄像头调试
- sqlite数据库常用语句
- 正则的替换功能
- python笔记004—字符串应用
- 占位2
- Struts2中的文件上传和文件下载
- 占位1
- 无向图
- 习题3-3 UVa1225 Digit Counting
- eclipse importing maven projects 9% 不动
- workers.properties配置
- iOS--UIButton的使用方法
- JDBC连接访问SQL Server2012
- 图片转base64
- spark基本工作原理
- 对于KMP算法的理解(Sunday)算法的理解