Скажем S = 5 и N = 3, решения будут выглядеть как - < 0,0,5 > < 0,1,4 < 0,2,3 < 0,3,2 <, 5,0,0 < 2,3,0 < 3,2,0 < 1,2,2 > и т.д. и т.д. </p>
В общем случае для решения проблемы могут использоваться N вложенных циклов. Выполнить N вложенного цикла, внутри них проверить, добавляются ли переменные цикла до S.
Если мы не знаем N раньше времени, мы можем использовать рекурсивное решение. На каждом уровне запустите цикл, начиная с 0 до N, а затем снова вызовите функцию. Когда мы достигнем глубины N, посмотрим, добавятся ли полученные числа до S.
Любое другое решение для динамического программирования?