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

递归函数算式部分求解答

num = (getPeachNumber(n+1)+1)*2 ;是什么意思啊,看不懂这算式。

提问者:在与如 2017-08-05 10:33

个回答

  • 原初的火
    2017-08-07 17:59:48
    已采纳

    f(x)=f(x-1)/2-1 这是正推,变一下就是f(x)=(f(x)+1)*2

  • 慕用2033889
    2017-08-07 01:12:18

    这个要记得这个地方从10开始推到1,再从1推到10,所以这个(getPeachNumber(n+1)+1)*2 是指n从1开始推到10再代出各项结果。

  • 在与如
    2017-08-05 10:34:17

    #include <stdio.h>
    int getPeachNumber(n)
    {
        int num;    //定义所剩桃子数
        if(n==10)
        {
            return 1;       //递归结束条件
        }
        else
        {
            num = (getPeachNumber(n+1)+1)*2 ;   //这里是不应该用递归呢?
            printf("第%d天所剩桃子%d个\n", n, num); //天数,所剩桃子个数
        }
        return num;
    }
    int main()
    {
        int num = getPeachNumber(1);
        printf("猴子第一天摘了:%d个桃子。\n", num);
        return 0;
    }