数学ガールを読むぞぉ 8 - 下降階乗冪

さてと、出かける前にもうちょい。それほど難しくはなかったので6章まで読み進める。


数学ってスゲー難しい言葉がバンバン飛び出してくるので、名前を聞いただけでビビっちゃう。でも、落ち着いて読めば「ナンダそんなことか」って思えることが多くなった。


さて、その一例。


下降階乗冪の定義(nは正の整数)

x^{\underline{n}}=(x - 0)(x - 1)(x - 2)\dots(x - (n - 1))


下降階乗冪なんてムジィ名前が付いてるけど、

5^{\underline{3}}=5 \cdot 4\cdot 3

って、それだけかよ!!階乗のちょっと便利バージョン。とか名前付けとけばいいのに。


・・・まぁ、Schemeにしてみよう。

(define ((d n) x)
  (if (zero? n)
      1
      (* (- x (- n 1))
         ((d (- n 1)) x))))

((d 3) 5) ; 60

こっちはちょっと変態気味。

(d 3)でx^{\underline{3}}を作っておいて、xに5を代入する。

((d 3) 5)
3 * ((d 2) 5)
3 * 4 * ((d 1) 5)
3 * 4 * 5 * ((d 0) 5)
3 * 4 * 5 * 1
60

英語で書くとfalling factorialか。dの命名は失敗だったかも。名前をつけるって難しいね。


難しい名前だけど、下降階乗冪は結構使えそうだ。

追記

  • xを0回掛ける事になるので、x^{\underline{0}}=1 nがゼロの時は1になるらしい。ちと修正した。
  • 上昇階乗冪もあるみたい。