确定数组中的哪些数字等于特定总和

时间:2011-09-16 13:48:18

标签: algorithm vba

我将此问题作为一般数学问题提出。我将使用Visual Basic标记它,因为解决方案可能会在电子表格中实现。

我有一份货件清单,其中包含每批货物中的小部件数量。每批货物都装在卡车#1或卡车#2上。鉴于每辆卡车上的小部件总数,我如何确定每辆卡车上的哪些货物?

例如,以下是每辆卡车中总小部件的加载:

Truck #1  83,240 
Truck #2  63,460 
         -------
         146,700

这是一份详细的货件清单。

SHIPMENT ID  QUANTITY 
90006           340 
93806         2,460 
93906        22,980 
92506         5,960 
96306         3,580 
96406         3,320 
96906         2,680 
97306         1,160 
99206         9,780 
95005        15,300 
95006         2,980 
96008        22,320 
95606        28,580 
90206         5,020 
90306         3,160 
94006         1,140 
94406         4,640 
94606         7,900 
98606         3,400 
            -------
            146,700 

哪些货物在#1卡车和2号卡车?

1 个答案:

答案 0 :(得分:5)

这是the subset sum problem的变体。更多信息可以在Stack Exchange's Math site找到。这个问题并非无足轻重。维基百科页面描述了一种算法。在您的情况下,详尽的搜索可能是合适的。