算法入门经典第二版 3-4 Periodic Strings

来源:互联网 发布:linux 安装jdk gz文件 编辑:程序博客网 时间:2024/05/29 17:31

首先本题的两个连续的输出要用一个空行隔开,其次无循环周期的字符串被认为循环周期为字符个数,如qwer的循环周期为4

#include <stdio.h>#include <string.h>int main(){    char s[85];    int T;    scanf("%d",&T);    while(T--) {        scanf("%s",s);        int k,n = strlen(s);        for (k = 1; k < n; k++) {            int q;            if(n%k == 0)            {                q = 1;                 for(int i = k; i < n; i++) {                    if(s[i] != s[i%k])                        { q = 0; break; }                }            }            if(q)             {                printf("%d\n",k);                 if(T!=0)             //最后一组时 T判断时为1判断生效后为0                    printf("\n");                break;            }        }        if(k == n)                    //如果存在最小周期 T不会等于n            {                if(T == 0)                    printf("%d\n",n);                else                    printf("%d\n\n",n);            }    }    return 0;}
阅读全文
0 0
原创粉丝点击