问题描述
给定一个字符串,你需要从第start位开始每隔step位输出字符串对应位置上的字符。
输入格式
第一行一个只包含小写字母的字符串。
第二行两个非负整数start和step,意义见上。
第二行两个非负整数start和step,意义见上。
输出格式
一行,表示对应输出。
样例输入
abcdefg
2 2
2 2
样例输出
ceg
数据规模和约定
start从0开始计数。
字符串长度不超过100000。
字符串长度不超过100000。
提示
读入上有问题,可以参照字符串进位。
尝试不要出现以下代码:for (int i = 0; i < (int) S.size(); ++i)
尝试不要出现以下代码:for (int i = 0; i < (int) S.size(); ++i)
C
#include <stdio.h>
#include<string.h>
int main()
{
int start,step,i,l;
char a[100000];
scanf("%s",a);
scanf("%d%d",&start,&step);
l=strlen(a);
i=start;
while(i<l)
{
printf("%c",a[i]);
i+=step;
}
return 0;
}
C++
#include<iostream>
#include<cstring>
using namespace std;
int main(){
char a[1000001];
int st,step;
cin>>a+1;
cin>>st>>step;
int j,n=0;
for(j=1;a[j]!='\0';j++)n++;
// cout<<n;
int t=0;
int i;
while(1){
i=st;
cout<<a[i+t+1];
t=t+step;
if(i+t+1>n)break;
}
}