すべての組合せをシートに出力したい
a1~a10を1以上5以下の整数とするとき、
a1+a2+a3+a4+a5+a6+a7+a8+a9+a10=20
となるような組み合わせは、
(5,5,3,1,1,1,1,1,1,1)→10!/(2!*7!) =360通り
(5,5,2,2,1,1,1,1,1,1)→10!/(2!*2!*6!)=1260通り
(5,4,4,1,1,1,1,1,1,1)→10!/(2!*7!) =360通り
(5,4,3,2,1,1,1,1,1,1)→10!/(6!) =5040通り
(5,4,2,2,2,1,1,1,1,1)→10!/(3!*5!) =5040通り
(5,3,3,3,1,1,1,1,1,1)→10!/(3!*6!) =840通り
(5,3,3,2,2,1,1,1,1,1)→10!/(2!*2!*5!)=7560通り
(5,3,2,2,2,2,1,1,1,1)→10!/(4!*4!) =6300通り
(5,2,2,2,2,2,2,1,1,1)→10!/(6!*3!) =840通り
(4,4,4,2,1,1,1,1,1,1)→10!/(3!*6!) =840通り
(4,4,3,3,1,1,1,1,1,1)→10!/(2!*2!*6!)=1260通り
(4,4,3,2,2,1,1,1,1,1)→10!/(2!*2!*5!)=7560通り
(4,4,2,2,2,2,1,1,1,1)→10!/(2!*4!*4!)=3150通り
(4,3,2,2,2,2,2,1,1,1)→10!/(2!*7!) =360通り
(4,2,2,2,2,2,2,2,1,1)→10!/(2!*7!) =360通り
(3,2,2,2,2,2,2,2,2,1)→10!/(8!) =90通り
(2,2,2,2,2,2,2,2,2,2)→10!/(10!) =1通り
で合計41,221通りだと思います。
ごの、41,221通りの組合せを、エクセルシートに
41,221行20列の範囲に漏れなく出力したいのですが、
VBAで上手いテクニックがあれば教えてください。
よろしくお願いいたします。
お礼
ありがとうございますm(_ _)m とてもわかりやすい記述で、とても勉強になりました! 私の努力が足りないようなので、もっともっと精進します!