题目描述:
给定两个字符串a和b,我们定义a*b表示字符串的连接。例如,如果a=”abc”,b=”def”,那么a*b=“abcdef”,如果这种连接是多重的,可以用幂的形式来定义:a^0=“” (空串),a^(n+1)=a*(a^n)。
输入格式:
只有一行表示一个字符串s,长度至少为1,不超过100
输出格式:
输出最大的n值,如s=a^n(a是某个字符串)
样例输入:
样例1: abcd样例2: aaaa样例3: ababab
样例输出:
样例1: 1样例2: 4样例3: 3
提示:
本题要用到C++字符串的一些命令。
1)定义字符串类型
string s; //长度无限长
2)读入一行字符串
cin >> s; //读到空格为止
getline ( cin , s ) //以行为单位,读入整行内容给 s
3)求字符串的长度:
s.length( )
4)查看字符串的某一位置的字符:
s [ i ]
5)取字符串当中的某一段子串:
s.substr( i , 3 ) //在s字符串从i位开始连续取长度为3的子串。
6)字符串的比较:
两串字符串s1和s2,可以直接用>、<、==等关系运算符进行比较。
时间限制: 1000ms
空间限制: 256MB
代码如下:
#include
using namespace std;
int a[1000005],len;
char s[1000010];
void fun(){int i=0;int j=-1;a[0]=-1;while(i
上一篇:表扬别人读好成语
下一篇:用什么词来形容你对家乡的感情