[問題] 請問關於累加的這種語法表示法

看板C_Sharp (C#)作者 (ak77now)時間9年前 (2016/04/09 02:45), 9年前編輯推噓5(5015)
留言20則, 10人參與, 最新討論串1/2 (看更多)
不好意思我不會上色 想說另外貼個連結上看可能會比較清楚 題目很簡單 就是累加 比如說我輸入5,他就會算1+2+3+4+5,答案是15 用for的語法我比較看得懂 for寫法:http://pastebin.com/L0zq3Z5a 但這寫法我聽人家解說 聽了又聽、想了又想,想破頭都還不懂 http://pastebin.com/hZ9Um6FF 擷取重點程式碼部份: public int SumFrom1ToX(int x) { if(x==1) { return 1; } else { int result = x + SumFrom1ToX(x - 1); return result; } } 看起來滿短的, 可是他怎麼繞怎麼算的一直都看不懂 比如return 1是要給誰 return result又是給誰 還有x + SumFrom1ToX(x - 1)又是什麼意思等等 懇請大家教教我 拜託拜託 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 122.254.28.129 ※ 文章網址: https://www.ptt.cc/bbs/C_Sharp/M.1460141120.A.6D6.html ※ 編輯: ak77now (122.254.28.129), 04/09/2016 02:45:39

04/09 02:58, , 1F
這個東西叫做遞迴先GOOGLE一下 還不懂再說
04/09 02:58, 1F

04/09 22:47, , 2F
把自己當電腦一步一步照著跑跑看,很有幫助的。
04/09 22:47, 2F

04/09 23:15, , 3F
經典例子 漢諾塔, 輾轉相除法都會用到這個
04/09 23:15, 3F

04/09 23:16, , 4F
以前用php寫過刪除整個資料夾含子資料夾,也會用到遞迴
04/09 23:16, 4F

04/10 22:24, , 5F
SunFrom1ToX(0)紫戌擬虜毽偽戌中壯!!!
04/10 22:24, 5F

04/11 00:02, , 6F
樓上你還是講中文吧,雖然知道你要說什麼
04/11 00:02, 6F

04/11 07:23, , 7F
可是我看不懂樓樓上想說的…
04/11 07:23, 7F

04/11 08:08, , 8F
RECURSIVE的概念 自己去google吧
04/11 08:08, 8F

04/11 11:23, , 9F
反正遞迴不好懂又耗資源 不會沒差
04/11 11:23, 9F

04/11 11:26, , 10F
其實我同意樓上,每次進入都要存一次堆疊,大一點就爆了
04/11 11:26, 10F

04/11 11:27, , 11F
大學時演算法練習用QuickSort,書上教的寫法寫下去就爆
04/11 11:27, 11F

04/11 11:28, , 12F
後來是找個令一個版本減少遞回深度才做出結果
04/11 11:28, 12F

04/11 11:29, , 13F
04/11 11:29, 13F

04/11 13:47, , 14F
shozeng應該是說丟0進去就無窮遞迴了啦
04/11 13:47, 14F

04/11 13:56, , 15F
遞迴用這種鳥東西舉例本來就一點意義都沒有,只是硬教
04/11 13:56, 15F

04/11 14:00, , 16F
至少也要D&C問題如上面提到的排序法或DP問題,才看得出
04/11 14:00, 16F

04/11 14:00, , 17F
遞迴的意義,但這種問題難度比較高,不太適合初學者。
04/11 14:00, 17F

04/11 14:08, , 18F
我覺得遞回拿來可變動的目錄樹很方便就是了
04/11 14:08, 18F

04/11 14:16, , 19F
用別的語法來執行如圖 http://imgur.com/JoMAtal
04/11 14:16, 19F

04/11 14:20, , 20F
建議你可以手寫一次過程你就會大致了解它是如何運作
04/11 14:20, 20F
文章代碼(AID): #1N1_n0RM (C_Sharp)
文章代碼(AID): #1N1_n0RM (C_Sharp)