看板 C_and_CPP 關於我們 聯絡資訊
其實這個問題問在C++板有點不太對 這好像比較偏演算法了? 今天在思考一個問題 我們也許都曾看過這樣的深層loop for(a = 0; a < max; a++) for(b = a; b < max; b++) for(c = b; c < max; c++){ } 這是三層的loop,如果今天我想寫成動態的,該怎麼寫呢? 例如我輸入3,那他就會跑3層 我輸入4,他就跑4層,規則同上 我想一個晚上,沒想出來~"~ 不知道是不是我的思考卡住了,還是這種程式寫不出來? 謝謝大家~~ -- 有個人總在你心裡深處、眼光餘角出現 越是追求越是千里尋不著 日覆一日,漸漸的也就淡忘 實際卻如影隨行、無聲無息的埋藏在潛意識裡‧‧‧ 也許夜深人靜時又會不經意的輕敲你心房 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 60.244.132.208
dendrobium:遞迴? 10/28 21:40
LPH66:可以使用遞迴: 每一層遞迴裡跑一個 loop 10/28 21:41
yoco315:弟弟弟弟弟弟回 10/28 21:42
liwmewmew:看來我真的開始秀豆了 哈哈 10/28 21:42
kikiqqp:就用那個天上才該有的東西 10/28 21:51
james732:理論上遞迴與迴圈等價 不過這種程式碼 我還真不知怎寫 10/28 22:22
liwmewmew:我剛剛拉屎時,有稍微想了一下遞迴怎麼寫,等等試試 10/28 22:35
liwmewmew:本來純粹用for時,想到的是把這麼多層的for化成一個for 10/28 22:36
liwmewmew:然後new一個array去記錄每一層的起始點跟變化 10/28 22:36
liwmewmew:但是沒想得很細,不知道可不可行,但應該蠻複雜(純for) 10/28 22:37
ledia:stack 模擬遞迴 (意思一樣) 10/28 22:44
pizza0117:我覺得迴圈跟遞迴不等價,有些事情迴圈做不到 10/29 12:50
pizza0117:舉例,費式數列,可以用迴圈或遞迴解,但是方法不同 10/29 12:51
pizza0117:沒有辦法用迴圈的方式,實現遞迴解費氏的方法 10/29 12:53
littleshan:function call 不過就是個 stack push + goto 罷了 10/29 13:10
ledia:http://nopaste.csie.org/b7e25 隨手寫的供 pizza 參考 10/29 13:42
pizza0117:感謝~我懂了~ 另外,這網頁貼code還真好用~ 10/29 14:42
ledia:置底還有介紹好幾個, 這樣我就不用在 BBS 上面上色了 XD 10/29 14:47