为了账号安全,请及时绑定邮箱和手机立即绑定

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

#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 回答

你使用了递归,所以当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

3 回复 有任何疑惑可以回复我~
#1

飞马流云

懂了一点。
2015-09-01 回复 有任何疑惑可以回复我~

非常感谢!!!

0 回复 有任何疑惑可以回复我~

怎么算的,表示不懂

0 回复 有任何疑惑可以回复我~

这是个经典的递归算法

1 回复 有任何疑惑可以回复我~

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

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

0 回复 有任何疑惑可以回复我~
#1

刘伶

第三天 = 第二天+ n; n=3 第二天=3 故 第三天=6 记不记得数学归纳法的逻辑?基本就是这个思路
2015-09-01 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

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

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信