如何遞迴實現陣列求和

52coder發表於2015-05-14

如何用遞迴實現陣列求和

給定一個含有n個元素的整形陣列a,求a中所有元素的和.

非遞迴演算法:

int sumr(int *a,int n)
{
	int sum=0;
	for(int i=0;i<n;i++)
		sum+=a[i];
	return sum;
}


遞迴演算法:

int sum(int *a,int n)
{

	return n==0?0:sum(a,n-1)+a[n-1];
}

遞迴實現的方法,如果陣列元素個數為0,那麼和為0,如果元素個數為n,那麼先求出前n-1個元素的和,再加上a[n-1]即可。

相關文章