这里我计算了3天,得出结果是6​,求详细计算步骤,

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

小小小丶小白

2015-09-01 11:49

#include <stdio.h>
/* 定义获取单词数量的函数 */
int getWordNumber(int n)
{   
    if(n == 1)
    {
        return 1;    //第一天只会1个单词
    }
    else{
        return  getWordNumber(n-1)+n ;       //到第天会的单词数量
    }
}
int main()
{
    int num = getWordNumber(3);     //获取会了的单词数量
    printf("小明第10天记了:%d个单词。\n", num);
    return 0;
}


写回答 关注

5回答

  • Virture
    2015-09-01 12:59:42
    已采纳

    你使用了递归,所以当n=3时,getWordNumber(n-1)+n为getWordNumber(2)+3;所以n=2时,getWordNumber(n-1)+n为getWordNumber(1)+2。getWordNumber(1)+2的结果为3,那么getWordNumber(2)+3的结果为getWordNumber(1)+2+3 = 3+3 = 6

    飞马流云

    懂了一点。

    2015-09-01 13:51:27

    共 1 条回复 >

  • qq_记得曾经_0
    2015-12-03 22:21:32

    非常感谢!!!

  • 刘玉鹏
    2015-09-12 10:34:30

    怎么算的,表示不懂

  • 刘伶
    2015-09-01 13:11:09

    这是个经典的递归算法

  • 小小小丶小白
    2015-09-01 11:57:41

    比如第2天:(2-1)+2=3

    到了第3天:不知道这个6怎么出来的

    刘伶

    第三天 = 第二天+ n; n=3 第二天=3 故 第三天=6 记不记得数学归纳法的逻辑?基本就是这个思路

    2015-09-01 17:36:05

    共 1 条回复 >

C语言入门

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

926210 学习 · 20797 问题

查看课程

相似问题