Re: [請益] 如何把一堆數字分成總合相等的兩個集合
看板Prob_Solve (計算數學 Problem Solving)作者sofiawei0711 (sofia)時間17年前 (2008/01/23 15:20)推噓0(0推 0噓 0→)留言0則, 0人參與討論串8/8 (看更多)
※ 引述《ablboy (賣悶! 賣共! (M))》之銘言:
: 依網友的數據再推一次
: 首先將整個陣列由大到小排列
: 例如 : 8 4 3 3 3 3
: 準備兩個空間存放(S1與S2)
: 依序將數字存放置此兩空間
: 當某空間目前總和大於另一空間時
: 下一個數目存入較小的空間中
: 過程大致如下
: 8 : sum(S1) = 0, sum(S2) = 0; (S1沒比S2大); S1 <= 8
: 4 : sum(S1) = 8, sum(S2) = 0; (S1大於S2) ; S2 <= 4
: 3 : sum(S1) = 8, sum(S2) = 4; (S1大於S2) ; S2 <= 3
: 3 : sum(S1) = 8, sum(S2) = 7; (S1小於S2) ; S2 <= 3
: ......
: 依此類推得到
: S1 = 8 3
: S2 = 4 3 3 3
: 到此時S1與S2相差1
: 因此找S2的元素集合(排列組合)與S1元素中差值為 1的做交換
: 例如: S2的4 與 S1的3
: 例如: S2的3 3 3 與 S1的8
: 不過我想應該還有特殊數據
: 等網友提出來在討論
:
如果是隨機產生十個數,
請問這程式碼要怎麼寫,
然後程式要能在ie上直接run結果
: : --
: : ◆ From: 203.203.0.230
: : 推 pigalan:Try it: 8 4 3 3 3 3...正確的應該是{8,4}, {3,3,3,3} 09/26 23:38
: ※ 編輯: ablboy 來自: 203.203.0.230 (09/27 09:18)
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.92.77.118
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 8 之 8 篇):
Prob_Solve 近期熱門文章
PTT數位生活區 即時熱門文章
-4
30