我有號碼列表計算最接近的總和,以X使用號碼列表
[850, 1300, 810, 590, 590, 910, 480, 1170, 430, 530, 295, 970, 560, 410, 570, 680, 180, 180, 400, 1040]
我想給函數的整數參數,並把它通過在列表中合計數值返回最接近的數量可能,並告訴我用它來達到這個目標的數字。
例如,我給它數3255,它會吐出像
1300, 810, & 1170 sum to 3280
(我不知道這是否是從這個例子中,最接近實際相結合,只顯示它應該如何工作)
歡迎使用堆棧溢出!看起來你希望我們爲你寫一些代碼。儘管許多用戶願意爲遇險的編碼人員編寫代碼,但他們通常只在海報已嘗試自行解決問題時才提供幫助。證明這一努力的一個好方法是包含迄今爲止編寫的代碼,示例輸入(如果有的話),期望的輸出和實際獲得的輸出(控制檯輸出,堆棧跟蹤,編譯器錯誤 - 無論是適用)。您提供的細節越多,您可能會收到的答案就越多。 – 2014-11-05 16:14:38
查看'itertools',特別是'itertools.combinations'。 – 2014-11-05 16:19:46
看起來這個問題與[揹包問題](https://en.wikipedia.org/wiki/Knapsack_problem)類似,這很難有效解決。維基百科文章列舉了幾種解決方法,包括一些僞代碼。 – 9000 2014-11-05 16:19:59