玩转递归
2015-12-30 21:56
316 查看
所谓递归可以说成函数调函数
如我们 return eat3(n - 1) * 2 + 2 (大圣吃桃子)
下面上图看递归原理:
递归牵连到两个概念 压栈和出栈
看完图相信大家应该懂了是怎么回事(这么压栈内存可不少哦)
下面上吃桃子的代码:
如我们 return eat3(n - 1) * 2 + 2 (大圣吃桃子)
下面上图看递归原理:
递归牵连到两个概念 压栈和出栈
看完图相信大家应该懂了是怎么回事(这么压栈内存可不少哦)
下面上吃桃子的代码:
class Program { static void Main(string[] args) { Console.WriteLine(eat3(10)); } public static int eat2(int n) { int a = 1; if (n == 1) { return 1; } else { a = eat2(n - 1) * 2 + 2; } return a; } //递归 public static int eat3(int n) { //eat2方法简写三目表达式 return n == 1 ? 1 : eat3(n - 1) * 2 + 2; } //递推 public static int eat(int n) { int a = 1; for (int i = 2; i <=n; i++) { a = 2 * a + 2; } return a; } }
相关文章推荐
- 超强、超详细Redis数据库入门教程
- 第八章(2)-使用泛型委托
- SonarQube升级
- 面试干货
- 反转链表
- Linux下使用雅黑与Consolas字体
- jsp知识点
- WPS热点怎么关闭
- 将MATLAB中的mat数据转换为OpenCV能够读取的xml数据
- 32c3 ctf writeup
- Java类集学习(六)应用范例(一对多的关系)
- Android 上实现非root的 Traceroute -- 非Root权限下移植可执行二进制文件 脚本文件
- dependency-injection(依赖注入)
- eclipse jad 反编译 插件安装
- DocFX
- Duplicate复制数据库并创建物理StandBy(spfile+不同实例名+不同路径)
- bzoj3141: [Hnoi2013]旅行
- 图灵奖获得者传记
- cf337div2 C
- 搭建邮件服务器