周期串(Periodic Strings, UVa455)

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main()
{
char s[80];
int n, len;
scanf("%s", s);
len = strlen(s);
for (int i = 1; i <= len; i++) //假设周期是i,并且一个一个排除
{
if (len%i == 0) {
int ok = 1;
for (int j = i; j < len; j++)//从小的数开始,逐渐到大的,而如果找到那个最小的,就直接break掉
{
if (s[j] != s[j%i])
{
ok = 0;
break;
}
}
if (ok)
{
printf("%d\n", i);
break;
}
}
}
system("pause");
}

posted @ 2016-07-31 17:20  女王公园的八神  阅读(205)  评论(0编辑  收藏  举报