1 条题解
-
0
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
- 上传者