题目:UVa455 周期串
分析:暴力枚举,从1开始枚举到字符串长度。
比如a s d | a s d a s d,周期为3。
0 1 2 |3 4 5 6 7 8。
其中3%3 = 1,对应的就是a,4 % 3 = 1,5 % 3 = 2。
看了别人的代码才会做。加油!
代码:
#include <stdio.h>
#include <ctype.h>
#define scanf_s scanf
int main()
{
char s[81], a[81], d[81];
while (fgets(s, 81, stdin) != NULL)
{
int len = strlen(s) - 1;
for(int i = 1;i <= len;i++)
if (len % i == 0)
{
int j,flag = 1;
for (j = 0; j < len; j++)
if (s[j] != s[j % i])
flag = 0;
if (flag)
{
printf("%d\n", i);
break;
}
}
}
return 0;
}
看了别人的代码才会做。加油!
代码: