Пусть список л состоит из п элементов, гдегенерации случайных элементов списка с правилами
- каждый элемент должен быть либо 0, либо положительное целое число, меньшее или равное г и
- сумма списка должна быть равна м
Пример:
Given n = 5, r = 4, m = 10
l = [4, 3, 2, 0, 1]
Легко выполнить правило (1), но мне интересно, есть ли какая-либо хорошая идея/алгоритм для выполнения обоих правил?
Что вы намерены делать, если условия unsatisifiable (например, п = 5, г = 4, м = 100)? – BrenBarn
Я хотел бы отметить, что список больше не будет случайным, если вы добавите правила, определяющие, как он должен быть сгенерирован. – blasko
Если вам требуется определенное количество 0? Или элементы уникальны? В противном случае, до тех пор, как 'r m', я просто использовал бы 'r'' floor (m/r) 'times, затем вставлял остаток, затем заполнял 0s до' n' удовлетворяет –