我希望能夠創建多個總和爲100%的組合,只要給定了具有定義的「差異因子」的「桶」數量。在下面的例子中,差異是20的一個因素,使得它很簡單,但我可能會在最終解決方案中將其降低到1。創建多個總計爲100的組合
例如,對於3「桶」 A,B,C,你可以有:
A 100 80 80 60 60 ... 0
B 0 20 0 20 40 ... 0
C 0 0 20 20 0 ... 100
每一列是一個組合(求和到100),我想存儲和做進一步的計算。
這是一個業務問題,而不是作業。
請幫我想出一個解決方案。蠻力的方式是爲每個可能的組合創建一個多維數組,例如100x100x100,然後再通過每一百萬個組合,看看哪一個總和爲100.但是,這看起來效率太低了。
非常感謝。我希望我已經解釋清楚了。
考慮到你的第一個超過了100,yo的意思是總和爲100%。由於它不是一個因素,你也不清楚你的mea是什麼因素 - 你的意思是相鄰桶之間的差異需要是+還是 - 差異「因素」? – 2011-03-09 12:00:08
@Paul列加起來最多爲100 – Harold 2011-03-09 12:01:53
http://stackoverflow.com/questions/3510586/algorithm-to-calculate-the-number-of-combinations-to-form-100的副本。即使這些數字完全相同(100,20)。你確定這不是作業嗎?還是你是另一個問題海報的同事? – Patrick 2011-03-09 12:28:36