题目传送门:UVa 455 周期串 翻译可参照紫书57页习题3-4
题意:给定一个字符串 求出它的最小循环周期
AC代码:
#include <cstdio>
#include <iostream>
#include <cstring>
#include <algorithm>
#include <cmath>
using namespace std;
char s[105];
int main()
{
int n, i, j, len;
while(~scanf("%d",&n))
{
while(n--)
{
scanf("%s",s);
len = strlen(s);
for(i = 1; i <= len; ++i)
{
if(len % i == 0)//i可能是周期
{
for(j = i; j < len; ++j)
{
if(s[j] != s[j % i])
break;
}
if(j == len)//i是周期
{
cout << i << endl;
break;
}
}
}
if(n) cout << endl;
}
}
return 0;
}
AC路漫漫..