看了小编编写的递归函数(二),我有几个不理解的地方:(网址:http://www.imooc.com/code/5510)如何理解int getPeachNumber(int n)中的num = (getPeachNumber(n+1)+1)*2;以及int main()中的int number = getPeachNumber(1);这两行代码应该怎样解释?
1 回答
已采纳
慕粉3491951
TA贡献12条经验 获得超0个赞
递归用法首先要假设你的程序已经能实现相应的功能
所以int number = getPeachNumber(1);//传入实参1,得到第一天桃子的数量
递归的实现条件:如果一个问题可以分成几个小问题,其中一个小问题和原来的问题本质上一样
递归的编写一般步骤:
编写语句描述问题的分解步骤(假设递归函数已经完成)
在递归函数的开头编写分支处理无法分解的情况
上例中第n天的桃子数量其实就是第(n+1)天桃子数量+1然后*2的结果
不管哪一天都可以分解成这种情况
然后分解到第10天就无法分解了,因为第10天只有1个桃子
这样说不知道你能清楚吗?
- 1 回答
- 0 关注
- 1396 浏览
添加回答
举报
0/150
提交
取消