可以通过枚举周期长度从1到n,在判断是否成立即可
附上AC代码:
#include<bits/stdc++.h>
using namespace std;
const int maxn = 100;
char s[maxn];
int main()
{
int T;
scanf("%d", &T);
while(T--){
scanf("%s", s);
int len = strlen(s);
for(int i = 1; i <= len; i++){
if(len % i == 0){
bool ok = true;
for(int j = i; j < len; j++){
if(s[j] != s[j%i]){ // j % i 周期循环 判断是否相等
ok = false;
break;
}
}
if(ok){
printf("%d\n", i);
if(T){
printf("\n");
}
break;
}
}
}
}
return 0;
}