455 periodic strings

這個題是求在一個沒有空格的字符串中,最短的重複的語句的長度是多少

這個題也許用其他方法也能做出來,但我感覺做這個題所運用的思路非常好

#include<stdio.h>
#include<string.h>
main()
{
    int n,len,k,i;
    char str[100];
    scanf("%d",&n);
    while(n--)
    {
        scanf("%s",str);
        len=strlen(str);
        for(i=1;i<=len;i++)
            {
            if(len%i==0)
            for(k=i;k<len;++k)
            if(str[k]!=str[k%i])
            break;
            if(k==len)
            {printf("%d\n",i);
            break;}
            }
        if(n)printf("\n");
    }
    return 0;
}


發佈了21 篇原創文章 · 獲贊 13 · 訪問量 6860
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章