需要創建一個數組,其總數應該等於期望值。數組中元素的隨機和等於y - ruby
inp = [1,2,3,4,5,6,7,8,9,10]
sum = 200
輸出:
out = [10,10,9,1,3,3,3,7,.....] whose sum should be 200
or
out = [10,7,3,....] Repeated values can be used
or
out = [2,3,4,9,2,....]
我想作爲,
arr = [5,10,15,20,30]
ee = []
max = 200
while (ee.sum < max) do
ee << arr.sample(1).first
end
ee.pop(2)
val = max - ee.sum
pair = arr.uniq.combination(2).detect { |a, b| a + b == val }
ee << pair
ee.flatten
有沒有做任何有效的方法。
這是一個很好的問題。你試過什麼了? –
@ sagarpandya82,我已經加了 – Dheena
@falsetru,這不是一個重複的問題。 這裏可以在輸出中使用重複值,這在任何問題中都不存在。從這個問題中刪除重複的單詞。 – Dheena