小易有一个长度为n的整数序列,a_1,...,a_n。然后考虑在一个空序列b上进行n次以下操作:
1、将a_i放入b序列的末尾
2、逆置b序列
小易需要你计算输出操作n次之后的b序列。
说明:多写几组,就会发现规律。
如:
1234——4213;
12345——53124;
第一个一定是a[n-1];
最后一个一定是a[n-2];
以增量i=i-2依次输出
1、将a_i放入b序列的末尾
2、逆置b序列
小易需要你计算输出操作n次之后的b序列。
说明:多写几组,就会发现规律。
如:
1234——4213;
12345——53124;
第一个一定是a[n-1];
最后一个一定是a[n-2];
以增量i=i-2依次输出
#include<vector>
#include<iostream>
using namespace std;
int main()
{
int n;
while(cin>>n)
{
int i;
vector<int>a(n,0);
for(i=0;i<n;i++)//输入a序列
cin>>a[i];
for(i=n-1;i>=0;i-=2)
cout<<a[i]<<" ";
for(i=(n%2==0 ? 0:1);i<n-2;i+=2)//最后一个之后不能带空格,所以循环输出时,循环控制条件i<n-2。
cout<<a[i]<<" ";
cout<<a[n-2]<<endl;
}
return 0;
}