判断字符串周期的问题

#include "stdio.h"
#include "string.h"
#define MAX 100
main()
{
	char a[MAX];
	unsigned int i,j,ok ;
	scanf("%s",a);
	for(i=1; i<strlen(a); i++)
	{
		ok = 1;
		for(j=0; j<strlen(a); j++)
		{
			if(a[j] != a[j%i]) 			{
				ok = 0;
				break;
			}
		}
		if(ok)
		{
			printf("%d\n",i);
			return 0;
		}
	}
	printf("No answer!\n");
	return 0;
}

if(a[j] != a[j%i]),这个地方的算法特别好

你可能感兴趣的:(判断字符串周期的问题)