#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; }
你使用了递归,所以当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
非常感谢!!!
怎么算的,表示不懂
这是个经典的递归算法
比如第2天:(2-1)+2=3
到了第3天:不知道这个6怎么出来的