递归为什么要把n==1的情况单独写一下啊?

来源:5-7 递归函数(一)

qq_斧子_03961247

2018-06-11 20:17

递归为什么要把n==1的情况单独写一下啊? 求大神指点!!!!感谢!!!!

写回答 关注

3回答

  • mengxuanmenghui
    2018-07-12 10:19:46

    n == 1就是递归的基例,即递归停止的条件,如果没有基例,递归会一直运行,没有结束。

  • 李辰洋
    2018-07-02 19:06:44

    不写出n==1的情况,就不会截到1停,还会往下运行。

  • 井尔i
    2018-06-12 21:22:24

    尬讲一下,就个人所得,因为递归是从n一直倒推到1,然后再从1将  1到n的结果按你给的递归的公式计算出来,而根据题目是从1开始计算到n天,所以n==1开始。如果你希望将n==1这个初始修改,根据题意,你需要同时修改初始的返回值,如将

    if(n == 3){ return 3+2+1;    /*   第一天只会1个单词,第二天在第一天的基础上再学两个所以就算2+1,所以第三天来初始化就是3+2+1 。      */ }只是这样会把递归可以实现的过程自己手动化,根据题目是从第一天开始,n==1作为初始最符合题意。当然,初始化为0也是合适的,比如if(n==0){return 0;}


    井尔i

    如有错漏,敬请更正!

    2018-06-12 21:23:05

    共 1 条回复 >

C语言入门

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

924604 学习 · 20763 问题

查看课程

相似问题