给定一个字符串,输出所有指定长度为n的子串,没有则输出-1
strs = raw_input() n = input() if len(strs)< n or n<0: print -1 else: for i in range(len(strs)-n+1): print strs[i:i+n],
//穷举 字符串
// stringObject.slice(start,end)
//一个新的字符串。包括字符串 stringObject 从 start 开始(包括 start)到 end 结束(不包括 end)为止的所有字符
//-1 指字符串的最后一个字符
const readline = require('readline')
const rl = readline.createInterface({
input: process.stdin,
ouput: process.stdout
})
let inArr = []
rl.on('line',line=>{
if(!line) return
inArr.push(line)
if(inArr.length === 2){
let s = inArr[0]
let n = +inArr[1]
let res = []
if(s.length < n || s == '' || n<1){
console.log(-1)
}else{
for (let i = 0; i <= s.length-n; i++) {
res.push(s.slice(i,i+n))
}
console.log(res.join(' '))
}
}
}) #include <iostream>
#include <string>
using namespace std;
int main() {
string str;
int n;
cin >> str>>n;
if (n > str.size()) {
cout << -1;
}
else {
unsigned int i = 0;
for (;i < str.size() - n;++i) {
cout << str.substr(i, n) << ' ';
}
cout << str.substr(i, n);
}
system("pause");
return 0;
}
#include <bits/stdc++.h>
using namespace std;
int main(){
string s;
int n;
while(cin>>s){
int l = s.length();
cin>>n;
if(n>l || n<1)
cout<<-1<<endl;
else{
for(int i=0;i<=l-n;i++){
if(i==l-n)
cout<<s.substr(i,n)<<endl;
else
cout<<s.substr(i,n)<<" ";
}
}
}
return 0;
} #include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <iostream>
#include <string>
#include <vector>
using namespace std;
void
split_string(string raw_string,
int dimension,
int offset,
int split_scale,
vector<string>& vs_capacity) {
if (offset + split_scale > dimension || offset > dimension || split_scale < 0)
return;
string sub_temp = raw_string.substr(offset, split_scale);
vs_capacity.push_back(sub_temp);
split_string(raw_string, dimension, offset + 1, split_scale, vs_capacity);
}
int main(int argc, char** argv) {
string input_string;
int split_scale;
cin >> input_string >> split_scale;
vector<string> vs_capacity;
split_string(input_string, input_string.length(), 0, split_scale, vs_capacity);
if (vs_capacity.size() <= 0)
cout << -1;
else {
for (int i = 0; i < vs_capacity.size(); i++)
cout << vs_capacity[i] << " ";
}
cout << endl;
return 0;
}
#include<stdio.h>
#include<string.h>
int main(){
char s[1000];int num=0;
scanf("%s %d",&s,&num);
int len=strlen(s);
if(num>0&&num<=len){
for(int i=0;i<=len-num;i++){
for(int j=0;j<num;j++){
if(j+i>=len) break;
printf("%c",s[i+j]);
}
printf(" ");
}
}else printf("-1");
} #include<iostream>
(720)#include<string>
using namespace std;
int main() {
int N;
string S;
cin >> S;
cin >> N;
int j=0;
if (N>0&&N<=S.length())
{
for (int j = 0; j + N <=S.length() ; j++)
{
for (int i = j; i <j + N; i++)
{
cout << S[i];
}
cout << " ";
}
}
else
{
cout << -1 << endl;
}
system("pause");
return 0;
} s = input() n = int(input()) if n>len(s) or n<=0: print(-1) else: for i in range(len(s)-n+1): print(s[i:i+n], end=' ')
遍历输出就行了
import java.util.*;
public class Main{
public static void main(String[] args){
Scanner sc =new Scanner(System.in);
String a = sc.nextLine();
int len = sc.nextInt();
sc.close();
if(a.length()<len||len<1){
System.out.print("-1");
return;
}
for(int i=0;i<=a.length()-len;i++){
System.out.print(a.substring(i,i+len)+" ");
}
}
}
#include<stdio.h>
#include<string.h>
int main(){
char word[100];
int num;
scanf("%s",word);
scanf("%d",&num);
int len = strlen(word);
if(num > len)
printf("-1");
else
for(int i = 0; i <= len - num; i++){
for(int j = 0; j < num; j++){
printf("%c",word[i+j]);
}
printf(" ");
}
return 0;
}