足してnになる1以上の整数の組み合わせを並べる時、並べ方が最大になるような
整数の組み合わせをMathematica(あるいはC言語でも)で求める方法を教えてください。

わかりにくいので例を挙げますと n=5 のとき
足して5になる1以上の整数の組み合わせは
5, 41, 32, 311, 221, 2111, 11111 であり
並べ方が何通りあるかはそれぞれ 1, 2, 2, 3, 3, 4, 1
で最大値は 2111 の場合で 4 に、
n=6の場合は 321 と 2211 の場合で最大値は 6 になります。
一般に、数字の個数(311なら3個、11111なら5個)がm個、1がk_1個、2がk_2個、…nがk_n個の
場合、並べ方はm!/(k_1!・k_2!・・・k_n!)になります。