[爆卦]遞迴意思是什麼?優點缺點精華區懶人包

為什麼這篇遞迴意思鄉民發文收入到精華區:因為在遞迴意思這個討論話題中,有許多相關的文章在討論,這篇最有參考價值!作者alfadick (悟道修行者)看板C_and_CPP標題[問題] 所有的迴圈一定能轉遞迴寫法?...

遞迴意思 在 數位外交研究室 Digital Diplomacy Lab Instagram 的最佳解答

2021-09-16 10:22:15

#研究室日常|大揭密!如何透過音樂傳遞 #南島文化,同時讓更多人 #認識台灣? 最近 #數位外交小隊 與大家分享了南島音樂串連計畫「#小島大歌」的故事,今天就一起透過我們主責「小島大歌」的數位外交小隊員雅竹,更認識這段台灣與南島國家攜手合作的過程吧! 🌍 透過藝術,參與國際交流 舞蹈系出身的雅...




長話短說,最近在學functional programming,

書上說 haskell 沒有支援 loop (希望我沒會錯意)。

因此舉凡我想要做的任何事,費式數列、河內塔等都只能用遞迴寫,

這沒差,我用C也應該會用遞迴。

但萬一是什麼九九乘法表啦、 找出一個array中哪個數字最大啦、


印出 * 啦,都一律只能用遞迴寫,我會不會瘋掉阿@@
***
*****
*******


瘋掉也不是重點,重點是如果有些迴圈邏輯上不能轉成遞迴怎麼辦?

我想問的就是這個。



Q1. 所有的迴圈都可以改成遞迴?若是,有辦法給出證明嗎?


Q2. 所有的遞迴都可以改成迴圈?若是,有辦法給出證明嗎?




如果可以用迴圈辦到的,在functional programming的世界裡都要靠遞迴,

不知道會不會瘋掉..

感覺這個問題比較偏這個版,如果用一些C的code 當範例說明是可以的

感謝大家~

--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.136.209.22
※ 文章網址: http://www.ptt.cc/bbs/C_and_CPP/M.1403270990.A.A0F.html
※ 編輯: alfadick (220.136.209.22), 06/20/2014 21:31:32
LPH66:有個版叫 Programming 版, 另外你可以查一下 tail recursion 06/20 21:32
suhorng:Q1 跟 Q2 都可以, 但是推文空白太小了我寫不下完整證明 06/20 21:54
suhorng:另, 最後 "都要靠遞迴" 的部份, Haskell算是有其他的習慣 06/20 21:54
alfadick:謝謝兩位~ 那如果以C為例, 迴圈轉遞迴有SOP嗎 06/20 21:56
alfadick:喔喔? 06/20 21:56
suhorng:例 forM_ [1..5] (putStrLn . flip replicate '*') --猩猩 06/20 21:57
suhorng:Q1 跟 Q2 都有 SOP 06/20 21:59
suhorng:我晚點可以回覆XD (或是在 Programming 板回) 06/20 22:00
EdisonX:Q1 : loop 用 tail recursive 寫 06/20 23:07
EdisonX:Q2 : recursive 可把參數包起來 , 用 queue 模擬。 06/20 23:07
MOONRAKER:空白太小了寫不下是等450年後的人幫忙寫出來的意思嗎 :D 06/20 23:24
KoenigseggG:覺得suhorng推文很有哏XD 06/21 00:13
PUTOUCHANG:用遞迴寫迴圈... 用 XSL 嘗試就有感覺了 06/21 00:32
xcycl:事實上遞歸的寫法通常比較精簡 ... 06/21 18:51

你可能也想看看

搜尋相關網站