Rye0lbh


私信TA

用户名:dotcpp0718638

访问量:89

签 名:

等  级
排  名 38606
经  验 352
参赛次数 1
文章发表 2
年  龄 0
在职情况 学生
学  校 信阳师范大学
专  业

  自我简介:

TA的其他文章

555555555555java
浏览:34

解题思路:  将数列分奇数列和偶数列,最大生长数其实就是2*m-2,也就是循环一次即可,而数列两边实对称的,由此可得。

注意事项:  注意m在循环中的取值,切记数组底数


从零开始

参考代码:

#include<stdio.h>

int main()

{

    int x,a,b,n,m;

    scanf("%d",&n);

    int q[10000];

    if(n%2==0)

    {

         m=n/2-1;   //这是判断奇数列还是偶数列//

    }

    else{

        m=n/2-1;

    }

    for(x=0;x<n;x++)

    {

        q[x]=0;

    }

    for(x=n-1;x>m;x--)

    {

        q[x]=2*(x+1)-2;    //此处是先求出对称右半部分的结果,应为只有右半部分下标可以求出结果,最后只需将其对称至左半部分即可//

    }

    int* p=q;

    p+=n-1;

    for(x=0;x<m+1;x++)    //通过指针将右半部分对称//

    {

        q[x]=*p;

        --p;

    }

    for(x=0;x<n;x++)

    {

        printf("%d\n",q[x]);

    }

    return 0;

 }



 

0.0分

0 人评分

看不懂代码?想转换其他语言的代码? 或者想问其他问题? 试试问问AI编程助手,随时响应你的问题:

编程语言转换

万能编程问答  

代码解释器

代码纠错

SQL生成与解释

  评论区