找回密碼 或 安全提問
 註冊
|註冊|登錄

伊莉討論區

搜索
請尊重及感激所有版主付出和奉獻你準備好成為出色的版主了嗎?安全提問(回答) 和 永久尊貴會員 事宜
刀劍神域mgmega 無鬼父柯南gd高中
forgottespine超時空方夏末公園基地簽到twinewoo立花美涼

休閒聊天興趣交流學術文化旅遊交流飲食交流家庭事務PC GAMETV GAME
熱門線上其他線上感情感性寵物交流家族門派動漫交流貼圖分享BL/GL
音樂世界影視娛樂女性頻道潮流資訊BT下載區GB下載區下載分享短片
電腦資訊數碼產品手機交流交易廣場網站事務長篇小說體育運動時事經濟
上班一族博彩娛樂

[繁][720P]海賊王1103

[繁]Re:Monster 06-

[簡]終末的火車前往何

[繁]蔚藍檔案06-

[繁]從Lv2開始開外掛

[繁]轉生為第七王子,
C & C++ 語言C# 語言Visual Basic 語言PHP 語言JAVA 語言
查看: 2527|回復: 6
打印上一主題下一主題

[問題]一個關於遞迴的問題[複製鏈接]

Rank: 2Rank: 2

帖子
1452
積分
280 點
潛水值
28390 米
跳轉到指定樓層
樓主
發表於 2016-2-21 06:27 PM|只看該作者|倒序瀏覽
成為伊莉的版主,你將獲得更高級和無限的權限。把你感興趣的版面一步步地發展和豐盛,那種滿足感等著你來嚐嚐喔。
我剛學程式設計
小弟我有一個遞迴的問題想要問各位大哥:
請問下列程式fact(4)的回傳值為??

{ if (n==0) return 1;
   else
      return 3*fact(n-1);
}

答案是:81
但是我不知道怎麼算出來的
哪一位可以幫我解答一下嗎??
感激不盡~~
分享分享0收藏收藏0支持支持0
主機板...GIGABYTE Z97-D3H
CPU....intel I7 4790
RAM...金士頓 8G*4
VGA...AMD Radeon R7 260X
所有積分大於負-100的壞孩子,將可獲得重新機會成為懲罰生,權限跟幼兒生一樣。

使用道具檢舉

  尊貴會員

Melty Snow  雪靈

Rank: 6Rank: 6Rank: 6Rank: 6Rank: 6Rank: 6

帖子
3224
積分
24366 點
潛水值
77410 米
頭香
發表於 2016-2-21 07:46 PM|只看該作者
成為伊莉的版主,你將獲得更高級和無限的權限。把你感興趣的版面一步步地發展和豐盛,那種滿足感等著你來嚐嚐喔。
這遞迴就是求 3 的非負整數次方呀

fact(4)
= 3 * fact(4-1)
= 3 * [3 * fact(3-1)]
= 3 * 3 * [3 * fact(2-1)]
= 3 * 3 * 3 * [3 * fact(1-1)]
= 3 * 3 * 3 * 3 * 1
= 3^4
= 81

點評

chevylin0802 而其他的地方也有相關Arduino跟低功耗藍芽技術的一些討論, 我在想你們是否可以討論看看另闢一個專區將Arduino, BLE技術, 甚至樹莓派應用的部份歸併成專區   發表於 2016-3-5 10:14 AM
chevylin0802 剛看到別區的帖子有人希望針對3d列印的部份開一個專區  發表於 2016-3-5 10:11 AM
chevylin0802 果然具有學術研究價值的程式寫法究竟還是被老師們所喜愛!  發表於 2016-3-5 10:07 AM
Melty Snow [雪靈]
若新密碼無法使用,可能是數據未更新。請使用舊密碼看看。

使用道具檢舉

帖子
1
積分
0 點
潛水值
3140 米
3
發表於 2016-3-5 09:45 AM|只看該作者
如果瀏覽伊莉時速度太慢或無法連接,可以使用其他分流瀏覽伊莉,www01.eyny.com(02,03)。
它把括號裡面的數當成n,所以目前n=4
4≠0,所以if不做,做else
Else做的是把3*fact(4-1)的值回傳
Fact(4)=3*fact(3)  但不知道fact(3)是多少
Fact(3)的3≠0,所以if不做,做else
以此類推…
最後會做到fact(0),
Fact(0)有符合if的條件,所以做if不做else
Fact(0)=1
這時候有解,就可以遞迴了

Fact(4)=3*fact(3)     
Fact(3)=3*fact(2)     ↑
...
瀏覽完整內容,請先 註冊登入會員
成為伊莉的版主,你將獲得更高級和無限的權限。把你感興趣的版面一步步地發展和豐盛,那種滿足感等著你來嚐嚐喔。

使用道具檢舉

samou568 該用戶已被刪除
4
發表於 2016-3-6 05:10 PM|只看該作者
Fact(n) = 3*Fact(n-1) = 3^2*Fact(n-2) = ... = 3^n*Fact(0) = 3^n
所有積分大於負-100的壞孩子,將可獲得重新機會成為懲罰生,權限跟幼兒生一樣。

使用道具檢舉

Rank: 1

帖子
114
積分
154 點
潛水值
9892 米
5
發表於 2016-3-7 05:44 PM|只看該作者
妳的 IDE 不能設中斷點嗎
可以設的話就一步一步執行就知道答案了




所有積分大於負-100的壞孩子,將可獲得重新機會成為懲罰生,權限跟幼兒生一樣。

使用道具檢舉

hoare 該用戶已被刪除
6
發表於 2016-4-10 09:55 PM|只看該作者
若對尊貴或贊助會員有任何疑問,歡迎向我們查詢。我們的即時通或MSN: admin@eyny.com
遞迴要自已多代幾次才會有感覺,重點是每次呼叫遞迴時引數的變化(fact(n-1)),還有最後的終止條件(n==0)。
分享使你變得更實在,可以使其他人感到快樂,分享是我們的動力。今天就來分享你的資訊、圖片或檔案吧。

使用道具檢舉

Rank: 1

帖子
302
積分
157 點
潛水值
6298 米
7
發表於 2016-4-20 09:19 PM|只看該作者
分享使你變得更實在,可以使其他人感到快樂,分享是我們的動力。今天就來分享你的資訊、圖片或檔案吧。
在程式上加個Break point吧
看程式執行過程比較有感覺
也比較能了解之間的來龍去脈

使用道具檢舉

您需要登錄後才可以回帖 登錄 | 註冊

Powered by Discuz!

© Comsenz Inc.

重要聲明:本討論區是以即時上載留言的方式運作,對所有留言的真實性、完整性及立場等,不負任何法律責任。而一切留言之言論只代表留言者個人意見,並非本網站之立場,用戶不應信賴內容,並應自行判斷內容之真實性。於有關情形下,用戶應尋求專業意見(如涉及醫療、法律或投資等問題)。 由於本討論區受到「即時上載留言」運作方式所規限,故不能完全監察所有留言,若讀者發現有留言出現問題,請聯絡我們。有權刪除任何留言及拒絕任何人士上載留言,同時亦有不刪除留言的權利。切勿上傳和撰寫 侵犯版權(未經授權)、粗言穢語、誹謗、渲染色情暴力或人身攻擊的言論,敬請自律。本網站保留一切法律權利。
回頂部