第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

遞歸原理是否這樣?

就拿例題來說,我驗(yàn)證了一下過程,輸出結(jié)果是1,2,6,24,120https://img1.sycdn.imooc.com//5b2b07880001759416000789.jpg

推測(cè)原理如下:

result=f(5)=5*f(4)----->120? ? ? ? ? ? ? ?

f(4)=4*f(3)----->24? ? ? ? ? ? ? ? ? ? ? ? ? ??

f(3)=3*f(2)----->6? ? ? ? ? ? ? ? ? ? ? ? ? ? ??

f(2)=2*f(1)------>2? ? ? ? ? ? ? ? ? ? ? ? ? ??

f(1)=1*f(0)----->1? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

f(0)=0*f(-1) ?

f(-1)=?

遞減到f(-1),不是應(yīng)該輸出“輸出錯(cuò)誤嗎”,還有例題這樣編還不如n<=1,result=1呢?我這樣理解對(duì)嗎?求大神幫忙詳細(xì)解釋,謝謝!

正在回答

2 回答

? ? 當(dāng)我們使用遞歸的時(shí)候,為了避免遞歸無限循環(huán)下去,往往需要設(shè)定一個(gè)邊界。以你的程序?yàn)槔?dāng)n==0或n==1時(shí),返回值已經(jīng)是一個(gè)常數(shù),而不是表達(dá)式或未知數(shù),因此沒有必要再去進(jìn)行遞歸【因?yàn)?和1的階乘都是1】,它會(huì)直接返回某個(gè)值【這里就是1】。所以n==0或n==1就是它的邊界,此時(shí)不會(huì)在去計(jì)算f(-1)的值。

? ? 寫成n<=1,result=1也是可行的,但是可讀性比較差,而且無形中擴(kuò)大了對(duì)n的判定條件,所以一般使用遞歸時(shí)會(huì)直接寫明n等于多少,而不是給出一個(gè)范圍。

3 回復(fù) 有任何疑惑可以回復(fù)我~

factorial(<0) = "輸出錯(cuò)誤"
factorial(0,1) = 1
factorial(2) = factorial(1)*2= 2
factorial(3) = factorial(2)*3= (1*2)*3
factorial(4) =?factorial(3)*4= (1*2*3)*4

factorial(5) =?factorial(4)*5= (1*2*3*4)*5

3 回復(fù) 有任何疑惑可以回復(fù)我~
#1

胖虎愛學(xué)習(xí)

謝謝謝謝
2018-07-16 回復(fù) 有任何疑惑可以回復(fù)我~

舉報(bào)

0/150
提交
取消
C語言入門
  • 參與學(xué)習(xí)       926892    人
  • 解答問題       21419    個(gè)

C語言入門視頻教程,帶你進(jìn)入編程世界的必修課-C語言

進(jìn)入課程

遞歸原理是否這樣?

我要回答 關(guān)注問題
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)