長話短說,最近在學functional programming,
書上說 haskell 沒有支援 loop (希望我沒會錯意)。
因此舉凡我想要做的任何事,費式數列、河內塔等都只能用遞迴寫,
這沒差,我用C也應該會用遞迴。
但萬一是什麼九九乘法表啦、 找出一個array中哪個數字最大啦、
印出 * 啦,都一律只能用遞迴寫,我會不會瘋掉阿@@
***
*****
*******
瘋掉也不是重點,重點是如果有些迴圈邏輯上不能轉成遞迴怎麼辦?
我想問的就是這個。
Q1. 所有的迴圈都可以改成遞迴?若是,有辦法給出證明嗎?
Q2. 所有的遞迴都可以改成迴圈?若是,有辦法給出證明嗎?
如果可以用迴圈辦到的,在functional programming的世界裡都要靠遞迴,
不知道會不會瘋掉..
感覺這個問題比較偏這個版,如果用一些C的code 當範例說明是可以的
感謝大家~