C++:周期串
【题目描述】
如果一个字符串可以由某个长度为k的字符串重复多次得到,我们说该串以k为周期。 例如,abcabcabcabc以3为周期(注意它也以6和12为周期)。
输入一个长度不超过80的串,输出它的最小周期。
----------------------------------------------------------------------
非常简单好玩的题,我快要爱上string了,比char *;char [];好用太多了
#include <iostream>
using namespace std;
int main()
{
string s;
int i = 0;
getline(cin,s);
char c = s[0]; //周期串的第一个字符保存在c中
int n = s.length();
for(i = 1; i < n; i++) //注:从1开始找,
{
//因为它是周期串,只要确定首尾相等即可
if(s[i]==c && s[i-1]==s[2*i-1]) break;
}
cout<<i<<endl;
return 0;
}