判断周期,其实用if-else语句判就对,但错了几次之后发现不写函数实在是太乱了。经常加错if判break和其他语句。于是……
下面是ac代码:
#include <iostream>
#include <cstring>
using namespace std;
int truth(char str[],int a,int b)
{
int i, j, flag = 1;
for(i = 0; i < a; i++)
{
for(j = i + a; j < b; j += a)
{
if(str[j] != str[i])
{
flag = 0;
return 0;
}
}
}
if(flag)
return 1;
}
int main()
{
int n, k;
char str[82];
cin>>n;
while(n--)
{
cin>>str;
int len = strlen(str);
for(int i = 1; i <= len; i++)
{
if(len % i == 0)
{
if(truth(str, i, len))
{
k = i;
break;
}
}
}
if(n == 0)
cout<<k<<endl;
else
cout<<k<<endl<<endl;
}
return 0;
}