Periodic Strings

    xiaoxiao2026-04-22  7

          这题首先要判断对于长度为len的字符串其可能取得的周期,由小到大判断长度的因子是否为周期即可

    //AC.

    #include <iostream>

    #include <cstdio> #include <cstring> #include <cmath> #include <algorithm> using namespace std; int main() {     int t;     scanf("%d\n\n",&t);     while(t--)     {         int len;         char a[85],b[85];         memset(b,'\0',sizeof(b));         scanf("%s",a);         if(t!=0) getchar();         len = strlen(a);         for(int i=1;i<=len;i++)         {             if(len%i==0)                     //判断   i  是否为因子             {                 int j;                 for(j=0;j+i<len;j++)                 {                     if(a[j%i]!=a[j+i])      //以前  i +1 个为基准循环判断直到完全匹配                         break;                 }                 if(j+i==len)                 {                     printf("%d\n",i);                     break;                 }             }         }         if(t!=0)             printf("\n");     }     return 0; }
    转载请注明原文地址: https://ju.6miu.com/read-1309124.html
    最新回复(0)