Re: [請益] 配對問題
看板Prob_Solve (計算數學 Problem Solving)作者LPH66 ((short)(-15074))時間15年前 (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數位生活區 即時熱門文章