1832551_tle.c

来自「北大大牛代码 1240道题的原代码 超级权威」· C语言 代码 · 共 35 行

C
35
字号
# include <stdio.h>
# include <string.h>

void main()
{
 int n, mark;
 long i, count, NO, t, len;
 char str[1000001], tmp[1000001];
 
 while(1)
 {
   scanf("%s",str);
   if(strcmp(str,".") == 0) break;
   count = mark = 1;
   len = strlen(str);
   while(count<=len/2)
   {
    if(len%count) {count++;continue;}
    NO = 1;
    memmove(tmp,str,count);
    t = count;
    while(t<len)
    {
     if(strstr(&str[t],tmp) == t)
     {NO++;t+=count;}
     else break;
    }
    if(len==count*NO) {mark = 0;printf("%ld\n",NO);break;}
    else count++;
    memset(tmp,'\0',strlen(tmp));
   }
   if(mark) printf("1\n");
 }
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?