Suma total de un conjunto (lógica)

Tengo un problema lógico para una aplicación de iOS, pero no quiero resolverlo usando la fuerza bruta.

Tengo un conjunto de enteros, los valores no son únicos:

[3,4,1,7,1,2,5,6,3,4........]

¿Cómo puedo obtener un subconjunto con estas 3 condiciones?

Solo puedo elegir una cantidad definida de valores.La suma de los elementos seleccionados es igual a un valor.La selección debe ser aleatoria, por lo que si hay más de una solución para el valor, no siempre devolverá la misma.

¡Gracias por adelantado!

Respuestas a la pregunta(1)

Su respuesta a la pregunta