实现一个函数,递归计算数组求和(减而治之)
实现一个函数,递归计算数组求和(二分递归)
#include<iostream>
using namespace std;
int s(int a[],int n){
if(n==1){
return a[0];
}
return a[n-1]+s(a,n-1);
}
int main() {
int a[10];
for(int i=0;i<10;i++){
cin>>a[i];
}
cout<<s(a,10);
return 0;
}
#include<iostream>
using namespace std;
int s(int a[],int l,int h) {
if(l == h) return a[l]; //出口判断
int mid = (l+h)>>1;
return s(a,l,mid)+s(a,mid+1,h);
}
int main() {
int a[10];
for(int i=0; i<10; i++) {
cin>>a[i];
}
cout<<s(a,0,9);
return 0;
}