是否有一個很好的算法將隨機生成的數字拆分爲三個桶,每個桶都有可能包含的總數的限制。將數字拆分爲三個帶有限制的桶
例如,說我的隨機生成的數字是1,000,我需要將它分成桶a,b和c。
These ranges are only an example. See my edit for possible ranges.
Bucket a may only be between 10% - 70% of the number (100 - 700)
Bucket b may only be between 10% - 50% of the number (100 - 500)
Bucket c may only be between 5% - 25% of the number (50 - 250)
a + b + c must equal the randomly generated number
你想分配是完全隨機的金額所以只是作爲平等斗的機會一擊中其最大的除了所有三個桶被周圍的百分比平均值作爲平等的機會C桶。
編輯:以下將很可能總是如此:a + b + c的低端100%,a + b + c的高端> 100%。這些百分比僅表示a,b和c的可接受值。在a爲10%而b和c爲最大(分別爲50%和25%)的情況下,這些數字將不得不重新分配,因爲總數不等於100%。這是我試圖避免找到一種方法來分配這些數字的確切情況。
我想找到一種方法來在一個範圍內隨機選擇這些數字。
如果我們選擇第一桶的10%,那麼最大數量,我們可以得到的是(10%+ 50%+ 25%)* X = 85的初始數量的%。所以a + b + c不能成立。 – pnezis
對不起,這個不清楚。我已更新該帖子。 – Aaron