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

如题所述

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

温馨提示:答案为网友推荐,仅供参考
第1个回答  2017-03-07
int sum(int * a,int length)
{
if(length==1) return a[0];
return a[0]+sum(a+1,length-1);
}
相似回答