zp1905.cpp

来自「浙江大学acm在线判题器代码集。 本人在浙大acm判题器上的所有代码(心血) 」· C++ 代码 · 共 42 行

CPP
42
字号
#include <stdio.h>
#include <math.h>
#include <string.h>

char st[1000010];

int main(int argc, char* argv[])
{
  int r,ln,i,j,k;
  
  while (scanf("%s",st) && st[0]!='.')
  {
    ln=strlen(st);
    r=0;
    for (i=1;i<=ln/2;i++)
      if (ln%i==0)
      {
        for (j=i;j<ln;j+=i)
        {
          for (k=0;k<i;k++)
            if (st[j+k]!=st[k])
              break;
          if (k<i)
            break;
        }
        if (j==ln)
        {
          r=ln/i;
          break;
        }
      }
    if (r==0)
      puts("1");
    else
      printf("%d\n",r);

  }
  return 0;
}
//---------------------------------------------------------------------------

⌨️ 快捷键说明

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