首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

,递归有关问题

2012-03-31 
求助求助,递归问题函数sum(int a [],int n)的返回值是数组a[]的前几个元素之和?请使用递归的非递归两种方

求助求助,递归问题
函数sum(int a [],int n)的返回值是数组a[]的前几个元素之和?请使用递归的非递归两种方式实现。

[解决办法]
递归:
int sum(int[] a, int n){
if (a.length==1) return a[0];
else return sum( a, n-1) + a[n-1];
}

非递归:
int sum(int[] a, int n){
int sum=0;
for (int i=0; i<n; i++) sum+=a[i];
return sum;
}
[解决办法]

非递归 n为下标从0开始包含n
public static int sum(int a[],int n){
 int result = 0;
 for(i=0;i<=n;i++){
result+=a[i];
 }
 return result;
}
递归 n为下标从0开始包含n
public static int sum(int a[],int n){
 if(n==0) return a[0];
 return sum(a[],n-1)+a[n];
}


热点排行