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

第一天明明吃了一半加一 为什么第一天剩的和第一天摘的数量一样多 求解

第一天明明吃了一半加一  为什么第一天剩的和第一天摘的数量一样多

提问者:宝慕林3352801 2021-08-21 17:09

个回答

  • moon愿
    2023-07-13 17:29:21

    题目错了,正确可以这么写



    #include <stdio.h>

    int getPeachNumber(int n)

    {

        int num;    //定义所剩桃子数

        if(n==10)

        {

           return 1;      //递归结束条件

        } 

        else if(n<10&&n>0)

        {

            num = (getPeachNumber(n+1)+1)*2;   //这里是不应该用递归呢?

            printf("第%d天所剩桃子%d个\n", n, num); //天数,所剩桃子个数

        }

        return num;

    }

    int main()

    {

        int num = (getPeachNumber(1)+1)*2;


        printf("猴子第一天摘了:%d个桃子。\n", num);

        return 0;

    }


  • 铲金子瓜皮
    2022-02-11 19:03:16

    数学角度来说,题目错了,打印出来的结果应该是:
    第9天所剩桃子4个
    第8天所剩桃子10个
    第7天所剩桃子22个
    第6天所剩桃子46个
    第5天所剩桃子94个
    第4天所剩桃子190个
    第3天所剩桃子382个
    第2天所剩桃子766个
    第1天所剩桃子1534个
    猴子第一天摘了:3070个桃子。


  • 慕瓜1047255
    2021-08-22 14:48:34

    把吃剩下的数量是要传递给第二天的