链接:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=396
code
#include<stdio.h>
#include<string.h>
int main()
{
int n;
scanf("%d",&n);
while(n--)
{
char s[90];
scanf("%s",s);
int len = strlen(s),peridoic = 0;
for(int i = 1 ; i <= len; i++)
{
if(len % i == 0){
peridoic = i;
for(int j = 0 ; j < len ; j ++)
{
if(s[j] != s[j%i])
{
peridoic = 0;
break;
}
}
if(peridoic)
{
printf("%d\n",peridoic);
break;
};
}
}
if(n) printf("\n");
}
return 0;
}
注意事项,第一次提交的时候我只考虑前几个字符串是否是循环的没有考虑整体所以错误,之后改成考虑整体是否循环则Accepted