问答详情
源自:5-8 递归函数(二)

if(n==10) { return 1;//递归结束条件 } ,这个也有点不懂

(getPeachNumber(n+1)+1)*2意思为,(n+1)是一个整体,是前一天剩的桃子数,写2N+2不行吗?

提问者:Aze阿泽 2015-06-18 09:37

个回答

  • sanjiaofeng
    2015-07-06 15:20:58

    是不是这样理解:
    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。

  • 康振宁
    2015-06-18 10:12:16

    这个是递归,你看看递归的讲解可以不?