1 条题解

  • 0
    @ 2025-4-12 21:43:13

    C :

    #include <stdio.h>
    #include <string.h>
    int main(void){
    	char ch[200];
    	int i,j;
    	int ok;
    	gets(ch);
    	for (i=1; i<strlen(ch); i++)
    		if (strlen(ch)%i==0)
    		{
    			ok=1;
    			for (j=i; j<strlen(ch); j++)
    				if(ch[j]!=ch[j%i])
    				{
    					ok=0;
    					break;
    				}
    			if (ok)
    			{
    				printf("%d\n",i);
    				break;
    			}			
    		}
    		if (!ok)
    		{
    			printf("%d\n",strlen(ch));
    		}			
    	return 0;
    }
    

    C++ :

    #include <cstdlib>
    #include <iostream>
    #include <string.h>
    #include <stdio.h>
    
    using namespace std;
    
    int main(int argc, char *argv[])
    {
        char c[120];
        gets(c);
        int len=strlen(c);
        for(int i=1;i<=len;i++)  
        if(len%i==0)
        {
          int ok=1;          
          for(int j=i;j<len;j++)
           if(c[j]!=c[j-i]) {ok=0; break;}       
           if(ok)  {cout<<i<<endl; break;}                
                    }
      //  system("PAUSE");
        return EXIT_SUCCESS;
    }
    
    

    Pascal :

    var i:longint;
        a,b,c:string;
    begin
      readln(b);i:=0;
      repeat
        inc(i);
        a:=b;c:=copy(b,1,i);
        while pos(c,a)>0 do delete(a,pos(c,a),i);
      until (i=length(b)) or (a='');
      writeln(i);
    end.
    
    
    
    • 1

    信息

    ID
    1247
    时间
    1000ms
    内存
    128MiB
    难度
    (无)
    标签
    递交数
    0
    已通过
    0
    上传者