Поиск всех возможных комбинаций чисел для достижения заданной суммы

Как бы вы протестировали все возможные комбинации дополнений из заданного набора Nчисел, чтобы они суммировались с заданным окончательным числом? Краткий пример: Набор номеров для добавления: N = {1,5,22,15,0,...} Желаемый результат: 12345...