求助
查看原帖
求助
1078846
cute_楼主2024/10/15 19:04
#include<bits/stdc++.h>
using namespace std;
string s;
string cp;
string c;
int len;
int a[1001];
int n;
int d(){
	for(int i=1;i<=len;i++){
		if(len%i==0){
			a[++n]=i;
		}
	}
	for(int i=1;i<=n;i++){
		cp="";
		c="";
		for(int j=0;j<a[i];j++){
			cp+=s[j];
		}
		for(int j=1;j<=len/a[i];j++){
			c+=cp;
		}
		if(c==s){
			cout<<len/a[i]<<endl;
			return 0;
		}
	}
}
int main(){
	while(1){
		n=0;
		cin>>s;
		if(s=="."){
			return 0;
		}
		len=s.size();
		d();
	}
}

从1开始找会不会快一点。。

2024/10/15 19:04
加载中...