#include<stdio.h>
#include<stdlib.h>
int add(int a[] ,int m, int n);
int main(void)
{
int n;
printf("please input number n :\n");
scanf("%d",&n);
int *a = NULL;
a = (int *)malloc(sizeof(int)*n);
printf("please input %d number in a row:\n",n);
for(int i = 0 ; i < n ; i++)
{
scanf("%d",(a+i));
}
int m = 0 ;
int s = add(a , m, n-1);
printf("the sum is %d\n",s);
return 0;
}
int add(int a[] ,int m, int n)
{
if(m == n)
{
return a[m];
}
else
{
int ls , rs ;
int mid = (m + n)/2;
ls = add(a,m, mid);
rs = add(a,mid+1, n);
return ls+rs;
}
}
分治法求一组数据的和
最新推荐文章于 2024-04-16 16:43:46 发布