rainfog
2015-09-07 10:38
为什么这代码要 这样写,请知道的帮我解释下,谢谢 num=( getPeachNumber ( n + 1 ) + 1 ) * 2,
是不是这样理解:
getPeachNumber(n)就是第n天的num;
n=1时,getPeachNumber(1)是第一天的num,暂时用num1表示;
n=2时,getPeachNumber(2)是第一天的num,暂时用num2表示;
num1与num2之间满足以下关系:num2 = num1 /2 - 1;
所以,getPeachNumber(2)=getPeachNumber(1)/2 - 1。
推出,getPeachNumber(1)=(getPeachNumber(2)+1)*2。
然后,就有了:num = (getPeachNumber(n+1)+1)*2。
好厉害!!终于看懂了!!
乍一看对,细想想不太对啊,如果num1表示第一天摘得,那第二天剩下的num2=num1摘得-num1吃的
而num1吃的=num/2+1,所以num2=num1- 1 - num1/2
666
C语言入门
926027 学习 · 20793 问题
相似问题