1. 题目链接:https://vjudge.net/problem/UVA-455
2. 解题思路:略;
3. AC截图:
4. AC代码:
#include<stdio.h>
#include<string.h>
int main(){
int n;
scanf("%d",&n);
while(n--){
char s[85];int i,j;
scanf("%s",s);
int len=strlen(s);
for(i=1;i<=len;i++){
for(j=i;j<len;j++){
if(len%i||s[j%i]!=s[j])break;//检验后面的每一项是否都循环
}
if(j==len) {
printf("%d\n",i);
if(n)printf("\n");break;//注意题目中有“Two consecutive output are separated by a blank line.”,所以最后一项输出后面不能有\n
}
}
}
}
以上代码也许还不是很好,欢迎朋友评论以交流和分享更优秀的代码。