增量为1不断递增,找到最小循环数量就结束程序
#include<stdio.h> int n; char s[10001]; int main() { scanf("%d %s",&n,s); for(int i=1;i<=n;i++){ if(n%i==0){ int f=0; for(int j=i;j<n;j++){ if(s[j]!=s[j-i]){ f=1;break; } } if(!f){ printf("%d\n",i);break; } } } return 0; }
南阳理工学院OJ 계정으로 가입하면 南阳理工学院OJ로 제공되는 모든 OJ를 이용하고 참여하실 수 있습니다.
南阳理工学院OJ 공용 계정을 사용