![[code]判断周期串 [code]判断周期串](https://image.miaokee.com:8440/aHR0cHM6Ly9iYnNtYXguaWthZmFuLmNvbS9zdGF0aWMvTDNCeWIzaDVMMmgwZEhBdmFXMWhaMlZ6TWpBeE5TNWpibUpzYjJkekxtTnZiUzlpYkc5bkx6VTJOems1TXk4eU1ERTJNRE12TlRZM09Ua3pMVEl3TVRZd016RTJNakV4T0RJd01UYzRMVGc1TnprMU5UVXpOUzV3Ym1jPS5qcGc%3D.jpg?w=700&webp=1)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
#include<stdio.h> #include<string.h> int main()
{ char word[100];
scanf ( "%s" ,word);
int len= strlen (word);
for ( int i=1;i<=len;i++)
if (len%i==0)
{
int ok=1;
for ( int j=i;j<len;j++)
if (word[j]!=word[j%i])
{
ok=0; break ;
}
if (ok){ printf ( "%d\n" ,i); break ;}
}
return 0;
} |
//两层for循环,
第一层是字符串周期数的循环,从1:到字符串总长
第二层以上一层确定的周期数,找到第二个周期往后的字符串依次比较,是否相等