递归求数组之和
来源:互联网 发布:linux ping带源地址 编辑:程序博客网 时间:2024/06/05 16:47
对给定数组求和
对于一个数组求和来说,最简单的莫过于循环求和,现在分析递归求和。
首先,对于一个数组arr[],递归先必须找到基线条件,就是当数组逐渐缩小到第一个时,我们给出的判断。
if (n==0)
return arr[0];
之后再确定递归条件,即n>0时
else if(n>0)
return arr[n-1]+….;
所以综上所述代码如下:
// 用递归计算数组的和#include <stdio.h> int sum (int n, int arr[]) { if(n>0) return arr[n-1]+sum( n-1, arr); else return arr[0];}int main (void) { int n; int i; int arr[1000] ; scanf("%d",&n); for(i = 0;i < n;i++) { scanf("%d",&arr[i]); } printf("%d",sum(n,arr)-arr[0]); // 递归到1时会多计算一个arr[0],故需要在计算结果的时候减掉一个arr[0] return 0;}
阅读全文
0 0
- 递归求数组之和
- 用递归求整个数组之和
- 递归函数求n和求数组所有元素之和的问题
- 递归计算数组元素之和
- 求数组所有元素之和
- 求子数组之和最大值
- OJ数组求对角线之和
- 求最大子数组之和
- js快速求数组之和
- 求最大子数组之和
- 求最大子数组之和
- 求序列之和——递归
- JAVA之递归求阶乘之和
- 递归函数求多层列表数字之和
- 求数组的子数组之和最大值
- 求数组子数组之和最大值
- 求数组子数组之和的最大值
- 递归求数组和
- JNDI
- 《Spring Boot揭秘:快速构建微服务体系》读书笔记
- flask-wtf
- nodejs 运行CMD命令
- 算法设计与分析笔记之(2):递归与分治策略
- 递归求数组之和
- Android博客整理
- SSM框架配置文件上传
- K最小
- SpringBoot中Tomcat配置(学习SpringBoot实战)
- (CodeForces 432D)Prefixes and Suffixes
- ubuntu16.04 安装网易云音乐问题解决
- gcc的如何使用
- iterm2 颜色字体配置