如何透過多筆長度組合總和為指定數值...

我的問題是
目前N組不同規格與長度的鐵管,要從其中多筆尺寸用配對方式挑選出加總為介於900-1000長度或等於1000長度的組合。
應如何製作呢??才能快速挑選出來...希望高手們能儘快回覆解決困境.....謝謝
. . . . . .

規格 項次 長度
HEA160
2493
2493
2493
2493
2493
2493
2493
2493
2493
2493

UPN220
5095
5095
5095
5095
4995
4995
4995
4995
3477.5
3477.5
3477.5
2427.5
2427.5
2427.5
. . . . . . . . . . .
2018-08-13 9:22 發佈

eva5430 wrote:
我的問題是目前N組...(恕刪)


請參考這一篇
My Interior Knowledge is Extraordinaire
我在2016年有更新程式碼,可惜內容不合大家的胃口,沒什麼人看
https://www.mobile01.com/topicdetail.php?f=511&t=5025613
版主 您好

你的版文我有看了.但有點不太了解,而且我也有試著執行..但結果跑很久..好像是因為我的筆數(6000筆)太多跑不太動...

可以請您提供我詳細指導.因工作急迫需要,長度尺寸組合排列後,總和為8000-10000內長度...(如內文)
2493
2493
2493
5095
5095
5095
4995
4995
4995
4877.5
4877.5
4877.5
4495
4495
4495
4377.5
4377.5
4377.5
3995
3995
3595
3595
3595
3595
5095
5095
5095
5095
eva5430 wrote:
你的版文我有看了.但有點不太了解,而且我也有試著執行..但結果跑很久..好像是因為我的筆數(6000筆)太多跑不太動...
...(恕刪)


N=6000

排列組合公式是
2^n-1

算出來的組合是1.5134705823042370725134100673294e+1806
這是天文數字,不是家用電腦能跑的
(想知道這串數字有多恐怖,請google 科學符號 e)

建議您移除重覆後(剩163筆),勉強可以用程式計算
規劃求解就別用了,數字太多,您會等到瘋掉

只要限制找到的組數、每組最大個數,程式還是很快的
資料163筆,測試找25種組合,只要1秒

另外,因為您的數值有小數點,原來程式碼會有四捨五入的誤差,要修改一行程式碼
請自己回文章看,我另外加上註解了



p.s 建議您把4樓的文章編輯一下,不要把6000筆的資料,一口氣放進文章,版面長的很恐怖
真要放就附檔

還有,網路上回文,我一向一視同仁、看心情決定,不用特別自稱小女子<=我不相信是真的

snare wrote:
建議您把4樓的文章編輯一下,不要把6000筆的資料,一口氣放進文章,版面長的很恐怖


看到那麼多數字資料直接出現在文章內,
根本就不會想再管內容是什麼了!
My Interior Knowledge is Extraordinaire
內文搜尋
X
評分
評分
複製連結
Mobile01提醒您
您目前瀏覽的是行動版網頁
是否切換到電腦版網頁呢?