这是为什么呢?求解答

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

BEYOND23

2016-08-24 17:51

( getPeachNumber ( n + 1 ) + 1 ) * 2   ???

写回答 关注

1回答

  • 听羽
    2016-08-24 22:22:46
    已采纳

    是求前一天桃子的数量,我们可以把题目稍微改一下,逆向思考。假如猴子第一天摘一个桃,第二天上午时比前一天摘多了一个,此时数量为x,小猴子觉得不过瘾,下午又摘了一些,第二天一共摘了y个,而且y是x的两倍,第三天也是如此,求第四天猴子一摘了多少桃子?

    #include <stdio.h>

    int getPeachNumber(n)

    {

        int num;

        if(n==1)

        {

           num = 1;       //递归结束条件

        }

        else

        {

            num = (getPeachNumber(n-1)+1)*2;

        }

        return num;

    }

    int main()

    {

        int num = getPeachNumber(4);

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

        return 0;

    }

    把n=4代入(getPeachNumber(n-1)+1)*2;中即可,思路都是差不多的。


    BEYOND...

    非常感谢!

    2016-08-25 14:35:22

    共 1 条回复 >

C语言入门

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

926893 学习 · 21464 问题

查看课程

相似问题