Olá boa tarde,
Esse é um problema interessante. Se a quantidade de números no conjunto for muito grande pode ser oneroso resolvê-lo, pois haveria a necessidade de se fazer todas as combinações possíveis dos elementos do conjunto ( isso dá \(2^n\) subconjuntos onde \(n\) é a quantidade de elementos no conjunto ), efetuar a soma de cada subconjunto e verificar se casa com um valor dado.
Essa questão é um caso especial do
Problema da Mochila. Então uma forma de abordar a solução seria usar um algoritmo de programação dinâmica (preferencialmente). Obviamente, podem ocorrer casos que não conseguimos encher totalmente a mochila, que no caso dessa questão seria obter os elementos do conjunto cuja soma é exatamente o valor dado.