请教代码为什么这样写

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

rainfog

2015-09-07 10:38

为什么这代码要 这样写,请知道的帮我解释下,谢谢 num=( getPeachNumber ( n + 1 ) + 1 ) * 2,

写回答 关注

4回答

  • Perona
    2015-09-07 11:50:05
    已采纳

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


    super珊...

    number2=num1/2-1不应该是num2=num1/2+1吗 不是说第二天吃了第一天摘的一班再多吃了一个 那不是应该加一吗 怎么是减一呢

    2015-12-10 13:12:55

    共 3 条回复 >

  • qq_朱卫东_0
    2015-11-18 16:42:19

    好厉害!!终于看懂了!!

  • immxzmxz
    2015-11-14 16:14:58

    乍一看对,细想想不太对啊,如果num1表示第一天摘得,那第二天剩下的num2=num1摘得-num1吃的

    而num1吃的=num/2+1,所以num2=num1- 1 - num1/2

  • qq_宠辱不惊_1
    2015-10-10 23:15:01

    666

    immxzm...

    printf("if you don't know ,never xia BB'); return you mother;

    2015-11-14 16:04:02

    共 1 条回复 >

C语言入门

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

926027 学习 · 20793 问题

查看课程

相似问题