binomial ..... 2 項係数(「組み合わせ combination」の数)を返す関数

書式

binomial(n, r)

で用い、2 項係数 n!/(r! * (n - r)!) を返す。

(%i1) binomial(5, 1);

(%o1)                             5


(%i2) binomial(5, 2);

(%o2)                            10


(%i3) binomial(5, 3);

(%o3)                            10


(%i4) binomial(5, 4);

(%o4)                             5


(%i5) binomial(5, 5);

(%o5)                             1

n 個のものの中から r 個取り出して並べるときの並べ方、すなわち「順列 permutation」の数を求めるには binomial(n, r) * r! を計算すれば良い。例えば、10 個のものの中から 2 個取り出して並べる並べ方の数(10 × 9 = 90)を計算してみると次のようになる。

(%i6) binomial(10, 2) * 2!;

(%o6)                            90

なお、関数 makefact を適用すると、階乗(!)の式に変形できる。

(%i7) binomial(n, r);

(%o7)                      binomial(n, r)


(%i8) makefact(%);

                                 n!
(%o8)                        -----------
                             (n - r)! r!


(%i9) binomial(n, r) * r!;

(%o9)                     binomial(n, r) r!


(%i10) makefact(%);

                                 n!
(%o10)                        --------
                              (n - r)!

補足 load(functs) を実行すると、順列と組み合わせの数を求める関数、permutation(n, r) と combination(n, r) が使えるようになる。