循环节
来源:互联网 发布:铭牌打标机软件 编辑:程序博客网 时间:2024/06/10 09:10
题目描述:
循环节
Time Limit: 1000ms Memory limit: 65536K 有疑问?点这里^_^
题目描述
X最近爱上了一种奇怪的游戏,就是找出一个字符串中的最小循环节。
对于最小循环节的定义:对于字符串A存在字串B,使得A是由N个完整的B组成的,那么B就是A的一个循环节,长度最小的那一个为最小循环节。
输入
多组输入。
每组输入一个字符串,长度不大于80,只包含26个小写字母。
输出
输出一个字符串,代表最小循环节。
示例输入
aaaaabab
示例输出
aab
提示
解题思路:由题意知串A是由N个完整的串B组成的,可求串A长度的质因子,且B的长度必是A的质因子中的一个,然后对A质因子的每一种情况进行枚举讨论。
参考代码:
#include <stdio.h> #include <string.h> #define N 100 int main() { char s[N]; int len,i,j,k,a[N],cout; while(scanf("%s",s)!=EOF) { len=strlen(s); for(cout=0,i=1;i<=len;i++) if(len%i==0) a[cout++]=i; /* puts("3¤?èòò×ó:"); for(i=0;i<cout;i++) printf("%d ",a[i]); putchar('\n'); */ for(i=0;i<cout;i++) { k=a[i]; for(j=0;j<len;j++) if(s[j]!=s[j%k]) break; if(j>=len) break; } if(i<cout) for(j=0;j<k;j++) putchar(s[j]); putchar('\n'); } return 0; }
0 0
- 循环节
- 循环节
- 循环节
- 循环节
- 循环节
- 循环节
- 循环节的长度,循环节,循环次数(kmp)
- 小数的循环节
- 寻找循环节
- 循环节(hdoj1005)
- 指数循环节问题
- 【循环节】数列 sequence
- hdu1358 循环节
- 循环小数找出循环节
- 最小循环节
- spoj1421 - Goods(循环节)
- HDU4611(找循环节)
- hdu4335 (指数循环节)
- CodeForces 363 C. Fixing Typos
- 2012西电攻防溢出第二题
- htonl(),htons(),ntohl(),ntons()--大小端模式转换函数
- day-04-02
- 在广州传智播客学PHP到底学些哪方面的?
- 循环节
- VS2010 与Visual Assist的使用
- 自己集成sata 网卡 驱动 进入windows server 2003 sp2系统
- 从vc6.0转到vs2008出现的错误
- A Restriction on Protected Access
- 阿里巴巴fastJson解析工具的demo实现
- 数字图像处理之图像增强
- 虚拟内存、逻辑地址、线性地址、物理地址
- 广州传智播客女学员不甘心做文员学Java