factorial

์กฐํ•ฉ๋ก (Combinatorics)์˜ ์ค‘์š”ํ•œ ์š”์†Œ ์ค‘ ํ•˜๋‚˜์ธ ์ˆœ์—ด(Permutation)์€ ์š”์†Œ๋“ค์„ ์–ด๋–ป๊ฒŒ ๋‚˜์—ดํ•  ์ˆ˜ ์žˆ๋Š”์ง€๋ฅผ ๊ตฌํ•˜๋Š” ๊ฒƒ์— ์ง‘์ค‘ํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ์›”๋“œ์ปต์—์„œ A, B, C ๊ตญ๊ฐ€๊ฐ€ 1~3๋“ฑ์„ ์ฐจ์ง€ํ–ˆ๋‹ค๋Š” ์ •๋ณด๋งŒ ์•Œ๊ณ  ์žˆ์„ ๋•Œ, ๊ฐ€๋Šฅํ•œ ๋ชจ๋“  ๋“ฑ์ˆ˜๋ฅผ ๊ตฌํ•ด๋ด…์‹œ๋‹ค.1๋“ฑ2๋“ฑ3๋“ฑABCACBBACBCACABCBA์ด ๊ฐ€๋Šฅํ•œ ๊ฒฝ์šฐ์˜ ์ˆ˜๋Š” 6๊ฐœ๋กœ, ๊ทธ ๊ฐ€๋Šฅํ•œ ๊ฐ€์ง“์ˆ˜๋Š” 3 * 2 * 1 = 3! ์ด์˜€์Šต๋‹ˆ๋‹ค. n๊ฐœ์˜ ์š”์†Œ๋“ค ์ค‘์—์„œ r๊ฐœ์˜ ์š”์†Œ๋ฅผ ๋‚˜์—ดํ•  ๋•Œ (ํ˜น์€ ๋ฝ‘์„ ๋•Œ), ๊ฐ€๋Šฅํ•œ ๊ฐ€์ง“์ˆ˜์ธ nPr์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.nPr = n! / (n-r)!์šฐ๋ฆฌ์˜ ์˜ˆ์‹œ์—์„œ n = 3, r = 3 ์ด์˜€์œผ๋ฏ€๋กœ 3P3 = 3! / (3-3)! = 3! / 1 = 3! = 6 ์ด์˜€์Šต๋‹ˆ๋‹ค.(0 ํŒฉํ† ๋ฆฌ์–ผ์€ 1์ž…๋‹ˆ๋‹ค)  ์—ฌ๊ธฐ์„œ ๋‹ค ์•„์‹œ๊ฒ ์ง€..
Recursive function, ์žฌ๊ท€ํ•จ์ˆ˜๋Š” '์Šค์Šค๋กœ๋ฅผ ํ˜ธ์ถœํ•˜๋Š” ํ•จ์ˆ˜' ์ž…๋‹ˆ๋‹ค. ์Šค์Šค๋กœ๋ฅผ ํ˜ธ์ถœํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ์ง์ ‘ ํ˜ธ์ถœํ•  ์ˆ˜๋„ ์žˆ๊ณ , ๋‹ค๋ฅธ ํ•จ์ˆ˜๋ฅผ ํ†ตํ•ด ๊ฐ„์ ‘ ํ˜ธ์ถœํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ์žฌ๊ท€ํ•จ์ˆ˜๋Š” ์ด์ง„ํƒ์ƒ‰, ํŒฉํ† ๋ฆฌ์–ผ ์—ฐ์‚ฐ, ํ”ผ๋ณด๋‚˜์น˜ ์ˆ˜์—ด ๋“ฑ ์ˆ˜ํ•™์ด๋‚˜ ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ค๋ฃจ๋Š” ๋ถ„์•ผ์—์„œ ์ž์ฃผ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ์ฒซ๋ฒˆ์งธ๋กœ ํŒฉํ† ๋ฆฌ์–ผ(!)์˜ ์˜ˆ์‹œ๋ฅผ ๋“ค์–ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ์šฐ์„  ํŒฉํ† ๋ฆฌ์–ผ์ด๋ž€, '๊ทธ ์ˆ˜๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™์€ ๋ชจ๋“  ์–‘์˜ ์ •์ˆ˜์˜ ๊ณฑ' ์ž…๋‹ˆ๋‹ค. 0! = 1 ์ด๊ณ , n! = n * (n - 1)! ์ด๋ผ๊ณ  ์ดํ•ดํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค. ๊ทธ ํ•จ์ˆ˜๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์žฌ๊ท€ํ•จ์ˆ˜๋ฅผ ํ™œ์šฉํ•˜์—ฌ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. // factorial function unsigned long long factorial(unsigned long long n) { if (n == 0) re..
Chan Lee
'factorial' ํƒœ๊ทธ์˜ ๊ธ€ ๋ชฉ๋ก