题意:找出一个字符串的最短周期。
分析:注意输入输出格式的空行,找周期要找到字符串的末尾。
我的代码:
#include <bits/stdc++.h>
using namespace std;
int main()
{
int p,len,t,k;
char s[85];
for(scanf("%d",&t);t;t--)
{
getchar();getchar(); scanf("%s",s);
len=strlen(s);
for(k=1;k<=len;k++){
if(len%k==0){
for(p=k;p<=len;p++)
if(s[p]!=s[p%k]) break;
if(p==len) {printf("%d\n",k);break;}
}
}
if(t>1) printf("\n");
}
return 0;
}
本文介绍了一种通过C++编程语言实现的算法,用于找出给定字符串的最短重复周期。该算法首先读取字符串,然后通过遍历并检查字符串是否能够被其子串整除来确定最短周期。
350

被折叠的 条评论
为什么被折叠?



