週期串(第二講)

星雨博昱發表於2020-11-03

題目描述
如果一個字串可以由某個長度為k的字串重複多次得到,則該串以k為週期。例如,abcabcabcabc以3為週期(注意,它也以6和12為週期)。

輸入
輸入一個長度不超過80的串。

輸出
輸出它的最小週期。

樣例輸入
abcabcabcabc
樣例輸出
3

#include<stdio.h>
#include<string.h>
int main()
{
	char n[80];
	scanf("%s",&n);
	int len=strlen(n);
	int x,i,j;
	for(i=1;i<=len;++i)
	{
		for(j=i;j<=len;j++)
		{
			if(n[j]!=n[j%i])
			x=0;
			else
			{
			    x=1;
			    break;
			}
	    }
	    if(x==1)
	    printf("%d",j);
	    break;
	}
	return 0;
}

相關文章