标签:另一个 == 超过 pre 一个 重复 scan ret print
如果一个字符串可以由某个长度为k的字符串重复多次得到,则称该串以k为周期,例如,abcabcabcabc以3周期
输入一个长度不超过80的字符串,输出其最小周期
#include<stdio.h> #include<string.h> //这道题使用枚举,因为它是周期字符,所以它的字符数除以一个字符串的长度必为0,将这样的字符串一一找出,找出后在填入另一个备用数组,填到和原字符数相同,然后判断两个字符数组是否完全相同若相同即为答案 int main(void) { int T; scanf("%d", &T); while (T--) { char ch[90]; scanf("%s", ch); int n = strlen(ch); int i; for (i = 0; i < n; i++) { if (n % (i + 1) == 0) { char c[90]; int q = 0; int p = 1; for (int j = 0; j < n / (i + 1); j++) { for (int k = 0; k < (i + 1); k++) { c[q++] = ch[k]; } } for (int j = 0; j < n; j++) if (ch[j] != c[j]) { p = 0; } if (p)break; else continue; } } if (T) printf("%d\n\n", i + 1); else printf("%d\n", i + 1); } return 0; }
标签:另一个 == 超过 pre 一个 重复 scan ret print
原文地址:https://www.cnblogs.com/loliconsk/p/14328186.html