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>など。
一般的なケースでは、N個のネストされたループを使用して問題を解決できます。N個のネストされたループを実行し、その中でループ変数がSになるかどうかを確認します。
事前にNがわからない場合は、再帰的なソリューションを使用できます。各レベルで、0からNまでのループを実行してから、関数自体を再度呼び出します。深さNに達したら、得られた数の合計がSになるかどうかを確認します。
他の動的計画法ソリューションはありますか?