์ดํญ๊ณ์ ๊ณ์ฐ๊ธฐ ์ฌ์ฉ๋ฒ
์ดํญ๊ณ์ C(n, k)๋ n๊ฐ ์ค k๊ฐ๋ฅผ ๊ณ ๋ฅด๋ ๋ฐฉ๋ฒ์ ์์ด๋ฉฐ, ๋์์ (x + y)โฟ ์ ์ ๊ฐํ์ ๋ xโฟโปแตyแต ํญ์ ๊ณ์์ ๋๋ค. n๊ณผ k๋ฅผ ์ ๋ ฅํ๋ฉด ๊ฐ๊ณผ ํจ๊ป ํด๋น ํญ, ํ์ค์นผ ์ผ๊ฐํ์์์ ์์น, ๊ทธ๋ฆฌ๊ณ ๋ ๊ฐ์ง ๊ฒ์ฐ ๊ฒฐ๊ณผ๋ฅผ ๋ณด์ฌ์ค๋๋ค.
๊ณ์ฐ ๋ฐฉ์์ด ์ค์ํฉ๋๋ค. n! รท (k!(nโk)!)์ ๊ทธ๋๋ก ๊ณ์ฐํ๋ฉด 21!๋ถํฐ ์ ํํ ์ ์๋ฅผ ํํํ ์ ์์ด ๊ฐ์ด ์ด๊ธ๋ฉ๋๋ค. ๊ทธ๋์ ์ด ๊ณ์ฐ๊ธฐ๋ ํฉํ ๋ฆฌ์ผ์ ์ง์ ๊ณ์ฐํ์ง ์๊ณ C(n, k) = C(n, kโ1) ร (nโk+1) รท k ์์ฐจ ๊ณฑ์ ์ BigInt ์ ์ ์ฐ์ฐ์ผ๋ก ์ํํฉ๋๋ค. ๊ฐ ๋จ๊ณ์ ๊ฐ์ด ํญ์ ์ ์์ด๋ฏ๋ก ๋๋์ ์์ ์ค์ฐจ๊ฐ ์๊ธฐ์ง ์์ต๋๋ค.
๊ฒ์ฐ์ ๋ ๊ฐ์ง๋ก ๋ณด์ฌ์ค๋๋ค. ํ๋๋ ๋์นญ์ฑ์ผ๋ก, n๊ฐ ์ค k๊ฐ๋ฅผ ๊ณ ๋ฅด๋ ๊ฒ์ ๋จ๊ธธ nโk๊ฐ๋ฅผ ๊ณ ๋ฅด๋ ๊ฒ๊ณผ ๊ฐ์์ C(n, k) = C(n, nโk) ์ ๋๋ค. ๋ค๋ฅธ ํ๋๋ ํ์ค์นผ ์ผ๊ฐํ์ ์ ํ์์ผ๋ก, ๋ฐ๋ก ์์ค์ ๋ ์๋ฅผ ๋ํ๋ฉด C(nโ1, kโ1) + C(nโ1, k) = C(n, k) ๊ฐ ๋ฉ๋๋ค. ๋ ๊ฐ์ด ์ผ์นํ๋์ง ๊ฒฐ๊ณผ์ ํ์ํฉ๋๋ค.
k๊ฐ n๋ณด๋ค ํฌ๋ฉด ๊ณ ๋ฅผ ์๊ฐ ๋ถ์กฑํ๋ฏ๋ก ์ดํญ๊ณ์๋ 0์ด๋ฉฐ, ์ด ๊ฒฝ์ฐ ๋์นญ์ฑยท์ ํ์ ํ ๋์ ์๋ด ๋ฌธ๊ตฌ๋ฅผ ํ์ํฉ๋๋ค. k๊ฐ 0์ด๊ฑฐ๋ n๊ณผ ๊ฐ์ผ๋ฉด ๊ฐ์ 1์ ๋๋ค. ์ง์ ๋ฒ์๋ n โค 1000 ์ด๊ณ , C(1000, 500)์ฒ๋ผ 300์๋ฆฌ์ ๊ฐ๊น์ด ๊ฐ๋ ์ ํํ ์ ์๋ก ์ถ๋ ฅํฉ๋๋ค. 17์๋ฆฌ๋ฅผ ๋์ผ๋ฉด ์ง์ ํ๊ธฐ๋ฅผ ํจ๊ป ๋ณด์ฌ์ค๋๋ค.
์์ฃผ ๋ฌป๋ ์ง๋ฌธ
๊ฐ์ ๊ฐ์ต๋๋ค. n๊ฐ ์ค k๊ฐ๋ฅผ ๊ณ ๋ฅด๋ ์กฐํฉ์ ์ C(n, k)๊ฐ ๊ณง (x+y)โฟ ์ ๊ฐ์์ xโฟโปแตyแต ํญ์ ๊ณ์์ ๋๋ค.
21!๋ถํฐ๋ ์ผ๋ฐ์ ์ธ ์ ์ฐ์ฐ์ผ๋ก ์ ํํ ์ ์๋ฅผ ํํํ ์ ์์ด ๊ฐ์ด ์ด๊ธ๋ฉ๋๋ค. ์์ฐจ ๊ณฑ์ ๊ณผ BigInt๋ฅผ ์ฐ๋ฉด ์ค๊ฐ๊ฐ์ด ์ปค์ง๋ ๊ฒ์ ๋ง๊ณ ์ ํํ ์ ์๋ฅผ ์ ์งํ ์ ์์ต๋๋ค.
๊ณ ๋ฅผ ๊ฒ์ด ๋ถ์กฑํ๋ฏ๋ก ์ดํญ๊ณ์๋ 0์ ๋๋ค. ๊ฐ 0๊ณผ ํจ๊ป ๊ทธ ์ด์ ๋ฅผ ์๋ด๋ก ํ์ํฉ๋๋ค.