Ok, entonces creo que lo que estás buscando es un algoritmo que te de todas las posibilidades y no un caso concreto... igualmente hay que validar unas cosas.
Ej/
- ¿Se pueden restar números o solo sumar?
- ¿Deben ser todos números distintos o pueden repetirse?
- Ese rango entre 50 a 100, ¿son los números que debe elegir? Porque si es así, tenemos que en el ejemplo que diste ningún valor lo cumple ya que el menor valor (50), al considerarlo 4 veces da 200 y se pasa por mucho del número objetivo (60)
Y esas son solo algunas que se me ocurren, hace bastante que no programo, pero creo que lo primero que habría que hacer es la validación, y suponiendo que esté todo bien, luego vendría el algoritmo que es más o menos el ejemplo que te pasé pero en modo algoritmo. Sería algo como:
0) Validar que el objetivo y los valores cumplen las condiciones para que el algoritmo funcione
1) Dejar el primer valor fijo en el mínimo
2) Dejar el segundo valor fijo en el mínimo (si se puede repetir, sino sería el primer valor +1)
3) Dejar el tercer valor fijo en el mínimo (si se puede repetir, sino sería el segundo valor +1)
4) Definir el último valor como el Objetivo menos los 3 anteriores
5) 'Mostrar' Los valores anteriores separados por suma
6) Sumar 1 al tercer valor
7) Si el tercer valor es menor del máximo ir al paso 4)
8) Sumar 1 al segundo valor
9) Si el segundo valor es menor del máximo ir al paso 3)
10) Sumar 1 al primer valor
11) Si el primer valor es menor al máximo ir al paso 2)
12) Fin
Salu2