切换到宽版
  • 8376阅读
  • 8回复

周期串(PERIODIC STRINGS)(晕,大家救我) [复制链接]

上一主题 下一主题
离线johnson
 
只看楼主 倒序阅读 0 发表于: 2006-11-05
周期串(PERIODIC STRINGS)
提交文件名:PERIODIC.PAS
问题描述:
如果一个字符串是以一个或者一个以上的长度为k的重复字符串所连接成的,那么这个字符串就被称为周期为k的字符串。例如,字符串”abcabcabcabc”周期为3,因为它是由4个循环”abc”组成的。它同样是以6为周期(两个重复的”abcabc”)和以12为周期(一个循环”abcabcabcabc”)。
写一个程序,读入一个字符串,并测定它的最小周期。
输入:
一个最长为100的没有空格的字符串。
输出:
一个整数表示输入的字符串的最小周期。
输入输出样例:
Input:
HoHoHo

Output:
2

大哥们哪,救救我吧,俺感激不尽。[p:4]
离线johnson
只看该作者 1 发表于: 2006-11-05
大虾们,你们快救救我吧,我………………
离线stevenjl

只看该作者 2 发表于: 2006-11-05
很简单啊……

  1. #include <stdio.h>
  2. #include <string.h>
  3. #include <stdlib.h>
  4. int main()
  5. {
  6. int i,j,len;
  7. char s[100];
  8. scanf("%s",&s);
  9. len=strlen(s);
  10. for (i=0; i<=len; i++)
  11.   {
  12.   for (j=i+1; j<=len; j++) if (s[j] != s[j % (i+1)]) break;
  13.   if (j == len)
  14.     {
  15.       printf("%d\n",i+1);
  16.       exit(0);
  17.     }
  18.   }
  19. printf("%d\n",len);
  20. }
Dream Walker...
离线archimedes

只看该作者 3 发表于: 2006-11-07
引用第3楼caithagoras2006-11-06 17:25发表的“”:
那么简单的题目……
离线r134a
只看该作者 4 发表于: 2006-11-07
怎么觉得老大的解法很神奇啊

可以给个pascal程序么?
.


祝大家明年NOIP大获全盛!


.
离线stevenjl

只看该作者 5 发表于: 2006-11-07
神奇?……没吧……最简单的算法了
Dream Walker...
离线r134a
只看该作者 6 发表于: 2006-11-08
我刹那间觉悟~~~
.


祝大家明年NOIP大获全盛!


.
离线archimedes

只看该作者 7 发表于: 2006-11-10
引用第7楼r134a2006-11-08 13:46发表的:
我刹那间觉悟~~~

离线johnson
只看该作者 8 发表于: 2006-11-10

老大给我个pascal的吧,呜呜呜呜呜呜~~~
快速回复
限100 字节
 
上一个 下一个