问题:求周期字符串最小周期
分析:枚举暴力求解,本来想用数学方法的感觉有点麻烦了,思路就是将字符串用1-strlen来整除,然后从上个周期的末尾开始比较,有不同则为不对。如果一直比较完
都相等则为最小周期,最后的换行是按题目要求来的。
#include<stdio.h>
#include<string.h>
int main()
{
int q;
scanf("%d",&q);
while(q--)
{
char a[100];
scanf("%s",&a);
int len=strlen(a);
for(int i=1,j;i<=len;i++)
{
if(len%i==0){
for(j=i;j<len;j++)
if(a[j]!=a[j%i])
break;
if(j==len)
{
printf("%d",i);
break;
}
}
}
if(q)
printf("\n\n");
else
printf("\n");
}
}
UVA-455 Periodic Strings
最新推荐文章于 2019-01-13 10:26:04 发布