课程
/后端开发
/C
/C语言入门
如何理解num= (getPeachNumber(n+1)+1)*2
2017-09-20
源自:C语言入门 5-8
正在回答
这个程序的思路是这样的:递归函数要有终止语句,已知条件中第十天只剩1个,因此n == 10 时,num = 1。已知第10天是一个,那么第九天就是(1 + 1) * 2个,也就是说这题你推算的时候,应该从时间轴的后面开始推,也就是第n天剩下((第n+1天)+1)*2个。那么这个式子也就很好理解了。
是由getPeachNumber(n+1)=(getPeachNumber(n)-getPeachNumber(n)/2+1),换算过来的,其中,num=getPeachNumber(n);
我是这样理解的:n是天数,n+1表示往后一天,所以得n+1 ,又因为前一天的数量等于(后一天的数量+1)*2,所以得(getPeachNumber(n+1)+1)*2,其中getPeachNumber这函数是用来计算数量的,所以getPeachNumber(n+1)得到的是往后一天的数量,所以整个(getPeachNumber(n+1)+1)*2就是求前一天的数量,递归不断地循环使用这方法,直到计算出第一天的数量
举报
C语言入门视频教程,带你进入编程世界的必修课-C语言
2 回答谁能告诉我
1 回答谁能告诉我为啥?
3 回答错哪了.谁能告诉我
1 回答谁能告诉我我错那了
2 回答谁能告诉我哪里错了