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

来源:5-8 递归函数(二)

Aze阿泽

2015-06-18 09:37

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

写回答 关注

2回答

  • 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

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

C语言入门

C语言入门视频教程,带你进入编程世界的必修课-C语言

926210 学习 · 20797 问题

查看课程

相似问题