ํฌํํ๋จธ ๊ธฐํธ๋?
ํฌํํ๋จธ ๊ธฐํธ \((x)_n\)์ ์์น ๊ณ์น(rising factorial)์ด๋ผ๊ณ ๋ ํ๋ฉฐ, \(x^{(n)}\) ๋๋ x ์์ n์ ์ฌ๋ ค ์ด ํํ๋ก ํ๊ธฐํ๊ธฐ๋ ํฉ๋๋ค. x์์ ์์ํด ์ฐ์ํ๋ n๊ฐ์ ์๋ฅผ ๊ณฑํ ๊ฐ์ผ๋ก, ์กฐํฉ๋ก , ํน์ ํจ์, ์ด๊ธฐํ๊ธ์(hypergeometric series) ์ด๋ก ์์ ํต์ฌ์ ์ธ ์ญํ ์ ํฉ๋๋ค. ์ด ๊ณ์ฐ๊ธฐ๋ ์์น(rising) ๊ท์ฝ์ ์ฌ์ฉํ๋ฉฐ, ํ๊ฐ ๊ณ์น(falling factorial)์ด ์๋๋ผ๋ ์ ์ ์ ์ํ์ธ์.
๊ณต์
์ ์ \(n \ge 1\)์ ๋ํด $$(x)_n = x(x+1)(x+2)\cdots(x+n-1)$$์ด๋ฉฐ, ๋ชจ๋ n๊ฐ์ ํญ์ ๊ณฑํ ๊ฐ์ ๋๋ค. ๋น ๊ณฑ(empty product) ๊ท์ฝ์ ๋ฐ๋ผ \((x)_0 = 1\)์ด๊ณ , \((x)_1 = x\)๊ฐ ๋ฉ๋๋ค. ๊ฐ๋ง ํจ์๋ก ํํํ๋ฉด $$(x)_n = \frac{\Gamma(x+n)}{\Gamma(x)}$$์ ๊ฐ์ต๋๋ค. \(x = 1\)์ผ ๋ ์์น ๊ณ์น์ ์ผ๋ฐ์ ์ธ ๊ณ์น๊ณผ ๊ฐ์์ ธ \((1)_n = n!\)์ด ๋ฉ๋๋ค.
ํ ๊ณ์ฐ๊ธฐ ์ฌ์ฉ๋ฒ
๊ณ ์ ๋ ๋ฐ x, n์ ์ฒซ ๋ฒ์งธ ๊ฐ, ํ๋ง๋ค n์ด ๋์ด๋๋ ์ฆ๊ฐํญ(step), ๊ทธ๋ฆฌ๊ณ ์ถ๋ ฅํ ํ์ ๊ฐ์๋ฅผ ์ ๋ ฅํ์ธ์. ๊ณ์ฐ๊ธฐ๋ \(k = 0, 1, \dots, \text{rowCount}-1\)์ ๋ํด \(n = \text{initialN} + k\cdot\text{stepN}\)์ ๊ณ์ฐํ์ฌ ๊ฐ n๊ณผ ๊ทธ์ ๋์ํ๋ ์์น ๊ณ์น ๊ฐ์ ํจ๊ป ํ๋ก ๋ณด์ฌ ์ค๋๋ค. ์ฆ๊ฐํญ์ ์์๋ก ์ง์ ํ๋ฉด n์ด ์ ์ ์์์ง๋ ์์ด์ด ๋๊ณ , ์์ n์ ์ญ์ ํ์ฅ(reciprocal extension)์ ํตํด ์ฒ๋ฆฌ๋ฉ๋๋ค.
๊ณ์ฐ ์์
x = 5, n์ ์ด๊น๊ฐ 1, ์ฆ๊ฐํญ 1, 8๊ฐ ํ์ผ๋ก ์ค์ ํ๋ฉด \((5)_1 = 5\), \((5)_2 = 30\), \((5)_3 = 210\), \((5)_4 = 1680\), \((5)_5 = 15120\), \((5)_6 = 151200\), \((5)_7 = 1663200\), \((5)_8 = 19958400\)์ด ๋์ต๋๋ค. ๊ฐ์ด ๊ณ์น์ ์ผ๋ก ์ปค์ง๊ธฐ ๋๋ฌธ์ ๊ทธ๋ํ๋ก ๊ทธ๋ฆฌ๋ฉด ๋งค์ฐ ๊ฐํ๋ฅด๊ฒ ์น์์ต๋๋ค.
์์ฃผ ๋ฌป๋ ์ง๋ฌธ
์ \((x)_0\)์ ํญ์ 1์ธ๊ฐ์? ๋น ๊ณฑ์ด๊ธฐ ๋๋ฌธ์ ๋๋ค. x ๊ฐ๊ณผ ๊ด๊ณ์์ด ๋น ๊ณฑ์ ์ ์์ ๋ฐ๋ผ 1์ด ๋ฉ๋๋ค.
x๊ฐ 0 ์ดํ์ ์ ์์ด๋ฉด ์ด๋ป๊ฒ ๋๋์? ๊ณฑ์ ๊ณผ์ ์์ 0์ ๊ฑฐ์น๊ฒ ๋ฉ๋๋ค. ์๋ฅผ ๋ค์ด \((-3)_5 = (-3)(-2)(-1)(0)(1) = 0\)์ด๋ฉฐ, ์ด๋ ์ค๋ฅ๊ฐ ์๋๋ผ ์ฌ๋ฐ๋ฅธ ๊ฐ์ ๋๋ค.
๊ฐ์ด ์ค๋ฒํ๋ก๋ ์๋ ์๋์? ๋ค. ์์น ๊ณ์น์ ๊ทน๋๋ก ๋น ๋ฅด๊ฒ ์ปค์ง๋ฏ๋ก, n์ด ํฌ๋ฉด ๋ฐฐ์ ๋ฐ๋(double-precision) ๊ฒฐ๊ณผ๊ฐ ๋งค์ฐ ํฐ ๊ฐ์ด ๋๊ฑฐ๋ ๋ฌดํ๋๋ก ํ์๋ ์ ์์ต๋๋ค. ์ ํํ ๊ฐ์ ์ป์ผ๋ ค๋ฉด n์ ์ ๋นํ ๋ฒ์๋ก ์ ์งํ์ธ์.