Digamos que S = 5 y N = 3 serían las soluciones - < 0,0,5> < 0,1,4> < 0,2,3 > < 0,3,2> < 5,0,0> < 2,3,0> < 3,2,0> < 1,2,2> etc etc.Número de formas de sumar una suma S con N números
En el caso general, N anidados los bucles se pueden usar para resolver el problema. Ejecute bucle anidado N, dentro de ellos compruebe si las variables de bucle se suman a S.
Si no conocemos N con anticipación, podemos usar una solución recursiva. En cada nivel, ejecute un ciclo que comienza de 0 a N, y luego llame a la función de nuevo. Cuando alcanzamos una profundidad de N, verifique si los números obtenidos se suman a S.
¿Alguna otra solución de programación dinámica?
¿Es esta tarea? – templatetypedef
duplicado (en math.stackexchange): http://math.stackexchange.com/questions/2455/geometric-proof-of-the-formula-for-simplex-numbers –
La solución de programación dinámica no es muy diferente de la de el clásico [0-1 knapsack problem] (http://en.wikipedia.org/wiki/Knapsack_problem#0-1_knapsack_problem). Las diferencias son que solo nos interesan las mochilas llenas (cambio trivial en la solución) y las que contienen exactamente N elementos (cambio menor en la solución). – marcog