最新消息:

2019年海淀区青少年程序设计挑战活动复赛小学组C++试题第3题题解

C++ 少儿编程 1757浏览 0评论
2019年海淀区青少年程序设计题解

3

序列

    分析:本道题通过观察寻找变化规律:

    如果n为偶数:

    输入:1 2 3 4 5 6

    输出:6 4 2 1 3 5

    如果n为奇数:

    输入:1 2 3 4 5

    输出:5 3 1 2 4

    ……

    可以推出,当n为偶数时,输出的序列为:从最后一个数开始,原序列每隔一个数倒着输出,然后再从第一个数开始,顺着输出原序列剩余的几个数。当n为奇数时,输出的序列为:从最后一个数开始,原序列每隔一个数倒着输出,然后再从第二个数开始,顺着输出原序列剩余的几个数。代码如下:

#include <iostream>

using namespace std;

int a[200002];

int main(){

    int n;

    cin >> n;

    for(int i =1;i <= n;i++){

        cin >> a[i];

    }

    for(int i = n;i >=1; i=i-2){

        cout << a[i]<<” “;

    }

    int j;

    if(n%2==0){

        j =1;

    }else{

        j =2;

    }

    for(;j <= n;j = j+2){

        cout << a[j]<<” “;

    }

    cout << endl;

    return 0;

}

转自公众号:
noip案例讲解

您必须 登录 才能发表评论!