字符串基础(将abc按等差形式输出)
程序员文章站
2022-05-29 16:01:24
...
问题 E: 求子串
同学们都知道,字符串的概念指的是:用引号“ ”括起来的一串有限序列的字符。而子字符串就是字符串内的字符序列。例如,字符串 “abc” 具有如下6个子字符串:“a”、“ab”、“abc”(本身也计算在内)、“b”、“bc”、“c”。
现在任意给出一个字符串,请同学们编一个程序输出每个不同的子串,并统计不同的子串的个数。
输入
只有一行,包含1个任意的字符串(其长度L≥5)
输出
共有若干行:
前若干行每行一个字符串为不同的子串;
最后一行为统计不同的子串的个数。
样例输入 Copy
abcde
样例输出 Copy
a
ab
abc
abcd
abcde
b
bc
bcd
bcde
c
cd
cde
d
de
e
15
#include <iostream>
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
int main()
{
ios::sync_with_stdio(false);
string s;
cin >>s;
int lens=s.size();
for(int i=0;i<lens;i++)
{
for(int j=i,l=1;j<lens;j++,l++)
{
cout<<s.substr(i,l)<<"\n";
}
}
ll sum=(lens+1)*lens/2;
cout<<sum<<"\n";
return 0;
}
推荐阅读