Re: [請益] 配對問題
看板Prob_Solve (計算數學 Problem Solving)作者LPH66 ((short)(-15074))時間16年前 (2009/12/17 01:55)推噓0(0推 0噓 1→)留言1則, 1人參與討論串2/2 (看更多)
※ 引述《wchunga (阿銓看這邊)》之銘言:
:         假設有 N個顏色的盒子,每一個盒子裡面有數顆與盒子相同顏色的球
:         且球上有號碼。盒子中的球,數目都不一定。 請問要如何列出所有的可能?
:         ex: 以2個盒子 為例,假設 藍盒裡面有藍球3顆, 紅盒中有紅球2顆
:         則  跑1 次loop,可得到...
:                 藍1紅1
:                 藍1紅2
:                 藍2紅1
:                 藍2紅2
:                 藍3紅1
:                 藍3紅2    共6種.
:         如果以這種方式演算,有N個盒子時,我需要跑 N-1次 loop. 而且每次loop
:         所花的時間取決於盒子球的數量多少。
:         請問有沒有更好的演算法? 還是有人知道該用什麼關鍵字去查相關的資訊?
:         謝謝回答。
給你另一個例子
一年內的時間是由日、小時、分、秒組成的
一年有365日  一日有24小時  一小時有60分  一分有60秒
類比成四個盒子  分別有  365 個白球  24 個藍球  60 個紅球  60 個黃球
各自都從0開始編號
那麼各取一個出來就能組成一個時間
而要跑過全部所有時間有一個很簡單的做法是
for(t=0; t<31536000; t++)
{
    d=...;
    h=...;
    m=...;
    s=...;
    /* 這裡 h:m:s 就是一個時間了 */
    /* 細節我不寫, 自己想想看 */
}
也就是這個迴圈解決了上面這四個盒子的問題
你可以思考一下這個例子和你的問題之間的類比  就知道你的問題要怎麼解決了
--
'Oh, Harry, dont't you see?' Hermione breathed. 'If she could have done
one thing to make absolutely sure that every single person in this school
will read your interview, it was banning it!'
                      ---'Harry Potter and the order of the phoenix', P513
--
※ 發信站: 批踢踢實業坊(ptt.cc) 
◆ From: 140.112.28.92
→
12/17 03:30, , 1F
12/17 03:30, 1F
討論串 (同標題文章)
Prob_Solve 近期熱門文章
PTT數位生活區 即時熱門文章
                            12
                        
                            32