Я пытаюсь решить эту проблему уже более месяца. У меня есть список номеров и этих переменных:Задача алгоритма комбинаций
list_num = [1, 1, 2, 3, 5, 6, 1, 1, 3, 4, 4]
#x is number of numbers in combination eg. if x = 5 combiantions will look like this [n,n,n,n,n], where n is possible member of list _num
x = 5
#y is a sum of numbers inside combination
y = 10
У меня есть необходимость создания всех возможных комбинаций этих цифр в том, что x
это количество чисел в комбинации и y
является сумма чисел в комбинации, также необходимо учитывать количество повторяющихся внутри list_num
.
Я могу сделать это, создав всю возможную комбинацию и исключив комбинации, которые не определены моими правилами, но этот метод беспорядочен, и я не могу использовать его с большим количеством данных. В шахтной оригинальной программе list_num
может иметь сотни чисел и переменных x
и y
могут иметь большие значения.
Пара комбинаций для этого примера:
comb1 = [1,1,2,3,3], x = 5, y = 10
comb2 = [1,1,1,2,5], x = 5, y = 10
comb3 = [1,1,1,1,6], x = 5, y = 10
...
Я был бы признателен за какие-то новые идеи, я их не осталось :)
Любые ограничения на 'x' и' y'? –
дать четкие variablenames :) – Quonux
Default locale, ну, очевидно, x не может быть больше len (num_list), а y должно быть возможно, оба являются целыми числами. Quonux, что вы подразумеваете под понятием variablenames? – Domagoj