作者liwmewmew (如果大海能夠)
看板C_and_CPP
標題[問題] 動態調整深度的迴圈(loop)
時間Wed Oct 28 21:39:33 2009
其實這個問題問在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
1F:→ dendrobium:遞迴? 10/28 21:40
2F:推 LPH66:可以使用遞迴: 每一層遞迴裡跑一個 loop 10/28 21:41
3F:推 yoco315:弟弟弟弟弟弟回 10/28 21:42
4F:→ liwmewmew:看來我真的開始秀豆了 哈哈 10/28 21:42
5F:推 kikiqqp:就用那個天上才該有的東西 10/28 21:51
6F:→ james732:理論上遞迴與迴圈等價 不過這種程式碼 我還真不知怎寫 10/28 22:22
7F:→ liwmewmew:我剛剛拉屎時,有稍微想了一下遞迴怎麼寫,等等試試 10/28 22:35
8F:→ liwmewmew:本來純粹用for時,想到的是把這麼多層的for化成一個for 10/28 22:36
9F:→ liwmewmew:然後new一個array去記錄每一層的起始點跟變化 10/28 22:36
10F:→ liwmewmew:但是沒想得很細,不知道可不可行,但應該蠻複雜(純for) 10/28 22:37
11F:推 ledia:stack 模擬遞迴 (意思一樣) 10/28 22:44
12F:推 pizza0117:我覺得迴圈跟遞迴不等價,有些事情迴圈做不到 10/29 12:50
13F:→ pizza0117:舉例,費式數列,可以用迴圈或遞迴解,但是方法不同 10/29 12:51
14F:→ pizza0117:沒有辦法用迴圈的方式,實現遞迴解費氏的方法 10/29 12:53
15F:推 littleshan:function call 不過就是個 stack push + goto 罷了 10/29 13:10
17F:→ pizza0117:感謝~我懂了~ 另外,這網頁貼code還真好用~ 10/29 14:42
18F:→ ledia:置底還有介紹好幾個, 這樣我就不用在 BBS 上面上色了 XD 10/29 14:47