書式
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) が使えるようになる。