连个名字都有xianzhi
2017-09-20 08:25
如何理解num= (getPeachNumber(n+1)+1)*2
这个程序的思路是这样的:递归函数要有终止语句,已知条件中第十天只剩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语言入门
926210 学习 · 20797 问题
相似问题