課程
/后端開發
/C
/C語言入門
我不懂啊,為什么return getWordNumber(n-1)+n;什么意思,看不懂
2016-01-31
源自:C語言入門 5-7
正在回答
比如n=10,開始執行getWordNumber(10)。。。?return getWordNumber(n-1)+n為return getWordNumber(9)+10,但這里不知道其中的getWordNumber(9)是多少,于是開始執行getWordNumber(9),同理,在getWordNumber(9)中會出現return getWordNumber(8)+9,因為不知道getWordNumber(8)是多少,所以在執行getWordNumber(8)。以此類推。出現getWordNumber(1)時滿足if條件得出getWordNumber(1)的值,再把getWordNumber(1)的值套入getWordNumber(2)中得出getWordNumber(2)的值,以此類推。最終返回10天的總詞數。
ps:return getWordNumber(n-1)+n............中的(n-1)是為了遞歸調用前一天的值,后面的n是當天學習的單詞量。
俠客島的含笑
回答的都是大神啊,表示感謝
數學原理
當n = 10時
sum = getWordNumber(9)+10
????????????getWordNumber(9) =?getWordNumber(8)+9
????????????getWordNumber(8) =?getWordNumber(7) + 8
????????????getWordNumber(7) =?getWordNumber(6) + 7
????????????getWordNumber(6) =?getWordNumber(5) + 6
????????????getWordNumber(5) =?getWordNumber(4) + 6
????????????getWordNumber(4) =?getWordNumber(3) + 6
????????????getWordNumber(3) =?getWordNumber(2) + 3
????????????getWordNumber(2) =?getWordNumber(1) + 2
????????????getWordNumber(1) =?1
一個一個往里面帶入
得到結果?
sum = 1+2+3+4+5+6+7+8+9+10
getWordNumbe(n-1)代表的是之前(n-1)天數所記住的單詞,再加n就是n天一共記住的單詞總數;
遞歸,就是不斷調用自己本身。比如求5天記住的單詞,那就是return getWordNumber(5-1)+5;
繼續執行getWordNumber(5-1)為return?getWordNumber(4-1)+4,不斷自調,直到return getWordNumber(2-1)+2。就不再自調了。然后總加起來就是遞歸了。
舉報
C語言入門視頻教程,帶你進入編程世界的必修課-C語言
2 回答return (n+getWordNumber(n-1))為什么不行?
1 回答為什么我輸入 return n+getWordNumber(n-1)是錯誤的而 return getWordNumber(n-1)+n是正確的?
4 回答return getWordNumber(n-1)+n是什么意思?
1 回答為什么getwordnumber=(n-1)+n
5 回答為什么 ?num=getWordNumber(n-1)+n return num;這樣不行
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2016-01-31
比如n=10,開始執行getWordNumber(10)。。。?return getWordNumber(n-1)+n為return getWordNumber(9)+10,但這里不知道其中的getWordNumber(9)是多少,于是開始執行getWordNumber(9),同理,在getWordNumber(9)中會出現return getWordNumber(8)+9,因為不知道getWordNumber(8)是多少,所以在執行getWordNumber(8)。以此類推。出現getWordNumber(1)時滿足if條件得出getWordNumber(1)的值,再把getWordNumber(1)的值套入getWordNumber(2)中得出getWordNumber(2)的值,以此類推。最終返回10天的總詞數。
ps:return getWordNumber(n-1)+n............中的(n-1)是為了遞歸調用前一天的值,后面的n是當天學習的單詞量。
2016-05-30
回答的都是大神啊,表示感謝
2016-03-02
數學原理
當n = 10時
sum = getWordNumber(9)+10
????????????getWordNumber(9) =?getWordNumber(8)+9
????????????getWordNumber(8) =?getWordNumber(7) + 8
????????????getWordNumber(7) =?getWordNumber(6) + 7
????????????getWordNumber(6) =?getWordNumber(5) + 6
????????????getWordNumber(5) =?getWordNumber(4) + 6
????????????getWordNumber(4) =?getWordNumber(3) + 6
????????????getWordNumber(3) =?getWordNumber(2) + 3
????????????getWordNumber(2) =?getWordNumber(1) + 2
????????????getWordNumber(1) =?1
一個一個往里面帶入
得到結果?
sum = 1+2+3+4+5+6+7+8+9+10
2016-02-13
getWordNumbe(n-1)代表的是之前(n-1)天數所記住的單詞,再加n就是n天一共記住的單詞總數;
遞歸,就是不斷調用自己本身。比如求5天記住的單詞,那就是return getWordNumber(5-1)+5;
繼續執行getWordNumber(5-1)為return?getWordNumber(4-1)+4,不斷自調,直到return getWordNumber(2-1)+2。就不再自調了。然后總加起來就是遞歸了。