課程
/后端開發(fā)
/C
/C語言入門
遞歸為什么要把n==1的情況單獨寫一下??? 求大神指點?。。?!感謝?。。?!
2018-06-11
源自:C語言入門 5-7
正在回答
n == 1就是遞歸的基例,即遞歸停止的條件,如果沒有基例,遞歸會一直運行,沒有結(jié)束。
不寫出n==1的情況,就不會截到1停,還會往下運行。
尬講一下,就個人所得,因為遞歸是從n一直倒推到1,然后再從1將 ?1到n的結(jié)果按你給的遞歸的公式計算出來,而根據(jù)題目是從1開始計算到n天,所以n==1開始。如果你希望將n==1這個初始修改,根據(jù)題意,你需要同時修改初始的返回值,如將
if(n == 3){ return 3+2+1; ? ?/* ? 第一天只會1個單詞,第二天在第一天的基礎(chǔ)上再學(xué)兩個所以就算2+1,所以第三天來初始化就是3+2+1 。 ? ? ?*/ }只是這樣會把遞歸可以實現(xiàn)的過程自己手動化,根據(jù)題目是從第一天開始,n==1作為初始最符合題意。當(dāng)然,初始化為0也是合適的,比如if(n==0){return 0;}
井爾i
舉報
C語言入門視頻教程,帶你進入編程世界的必修課-C語言
2 回答遞歸中(n–1)*n
3 回答為什么遞歸是num =(getPeachNumber(n+1)+1)*2
1 回答遞歸函數(shù)num = getWordNumber(n-1)+n;
1 回答為什么沒寫n<0的情況
1 回答遞歸函數(shù) 關(guān)于n==1
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網(wǎng)安備11010802030151號
購課補貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動學(xué)習(xí)伙伴
掃描二維碼關(guān)注慕課網(wǎng)微信公眾號
2018-07-12
n == 1就是遞歸的基例,即遞歸停止的條件,如果沒有基例,遞歸會一直運行,沒有結(jié)束。
2018-07-02
不寫出n==1的情況,就不會截到1停,還會往下運行。
2018-06-12
尬講一下,就個人所得,因為遞歸是從n一直倒推到1,然后再從1將 ?1到n的結(jié)果按你給的遞歸的公式計算出來,而根據(jù)題目是從1開始計算到n天,所以n==1開始。如果你希望將n==1這個初始修改,根據(jù)題意,你需要同時修改初始的返回值,如將
if(n == 3){ return 3+2+1; ? ?/* ? 第一天只會1個單詞,第二天在第一天的基礎(chǔ)上再學(xué)兩個所以就算2+1,所以第三天來初始化就是3+2+1 。 ? ? ?*/ }只是這樣會把遞歸可以實現(xiàn)的過程自己手動化,根據(jù)題目是從第一天開始,n==1作為初始最符合題意。當(dāng)然,初始化為0也是合適的,比如if(n==0){return 0;}