Run ID | 作者 | 问题 | 语言 | 测评结果 | Time | Memory | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|
26825 | 唐心 | 幂字符串 | C++ | Accepted | 1 MS | 760 KB | 645 | 2022-05-24 17:05:49 |
#include<stdio.h> #include<iostream> #include<string.h> using namespace std; int main() { string a; string b; b+='.'; while(cin>>a&&a!=b) //注意这不能写a[0]!='.',否则''......''也会break { string b; string c; int i,j,t,k; int len=a.length(); for(i=0;i<len;i++) { b=a.substr(0,i+1); //拷贝从0开始长度为i+1的字符串 if(len%(i+1)==0) { t=i+1;k=1;j=t; for(;j<len;j+=t) { c=a.substr(j,t); if(b==c) k++; else break; } if(j==len) { printf("%d\n",k); break; } } } } return 0; }