๐Ÿ”ข์ดํ•ญ๊ณ„์ˆ˜ ๊ณ„์‚ฐ๊ธฐ

์ดํ•ญ๊ณ„์ˆ˜ C(n, k)๋ฅผ ํฐ ์ˆ˜๊นŒ์ง€ ์ •ํ™•ํžˆ ๊ณ„์‚ฐํ•˜๊ณ  ๋Œ€์นญ์„ฑยท์ ํ™”์‹์œผ๋กœ ๊ฒ€์‚ฐํ•ด ๋ณด์—ฌ์ค๋‹ˆ๋‹ค

์ดํ•ญ๊ณ„์ˆ˜ ๊ณ„์‚ฐ๊ธฐ ์‚ฌ์šฉ๋ฒ•

์ดํ•ญ๊ณ„์ˆ˜ 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๋ฅผ ์“ฐ๋ฉด ์ค‘๊ฐ„๊ฐ’์ด ์ปค์ง€๋Š” ๊ฒƒ์„ ๋ง‰๊ณ  ์ •ํ™•ํ•œ ์ •์ˆ˜๋ฅผ ์œ ์ง€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

k๊ฐ€ n๋ณด๋‹ค ํฌ๋ฉด ์–ด๋–ป๊ฒŒ ๋˜๋‚˜์š”?

๊ณ ๋ฅผ ๊ฒƒ์ด ๋ถ€์กฑํ•˜๋ฏ€๋กœ ์ดํ•ญ๊ณ„์ˆ˜๋Š” 0์ž…๋‹ˆ๋‹ค. ๊ฐ’ 0๊ณผ ํ•จ๊ป˜ ๊ทธ ์ด์œ ๋ฅผ ์•ˆ๋‚ด๋กœ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค.