Как перебрать все сочетания?
Зачем перебирать все сочетания?
Отсортировать набор цифр.
Взять указанное количество самых больших
Если их сумма четная - заменить самую младшую на предыдущую из списка пока сумма не станет нечетной.
n = [1, 5, 3, 4, 9, 7, 6]
k = [3]
n_sort = [1, 3, 4, 5, 6, 7, 9]
k_sum = 6 + 7 + 9 = 22 - четное число
Меняем 6 на 5, k_sum = 5+ 7 + 9 = 21 - PROFIT!
Вообще сочетания можно for'ом или рекурсией обойти.
Но чувствуется, что задача должна решаться проще, хотя по тому, что написано в вопросе сложно судить.