找子串
提交数: 536, 通过率: 42.72%, 平均分: 55.58
题目描述:
给定两个字符串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
来源: 原创