开发者社区 问答 正文

用C++语言编写一个递归算法,返回一个数组A中前n项和

用C++语言编写一个递归算法,返回一个数组A中前n项和

展开
收起
知与谁同 2018-07-20 17:41:59 1967 分享 版权
2 条回答
写回答
取消 提交回答
  • int sum(int * a,int length)
    {
    if(length==1) return a[0];
    return a[0]+sum(a+1,length-1);
    }
    2019-07-17 22:55:27
    赞同 展开评论
  • 这个时候,玄酱是不是应该说点什么...
    int sum(int *A, int n) {
        if (n==1) { return A[0]; }
        return sum(A, n-1) + A[n-1];
    }

    用数学来表示,就是:

    S1 = A1

    Sn = Sn-1 + An

    但c++数组是从0计数的,所以

    S1 = A0

    Sn = Sn-1 + An-1

    2019-07-17 22:55:27
    赞同 展开评论