Recursive function, ์ฌ๊ทํจ์๋ '์ค์ค๋ก๋ฅผ ํธ์ถํ๋ ํจ์' ์
๋๋ค. ์ค์ค๋ก๋ฅผ ํธ์ถํ๋ ๋ฐฉ๋ฒ์ ์ง์ ํธ์ถํ ์๋ ์๊ณ , ๋ค๋ฅธ ํจ์๋ฅผ ํตํด ๊ฐ์ ํธ์ถํ ์๋ ์์ต๋๋ค. ์ฌ๊ทํจ์๋ ์ด์งํ์, ํฉํ ๋ฆฌ์ผ ์ฐ์ฐ, ํผ๋ณด๋์น ์์ด ๋ฑ ์ํ์ด๋ ๋ฐ์ดํฐ๋ฅผ ๋ค๋ฃจ๋ ๋ถ์ผ์์ ์์ฃผ ์ฌ์ฉ๋ฉ๋๋ค. ์ฒซ๋ฒ์งธ๋ก ํฉํ ๋ฆฌ์ผ(!)์ ์์๋ฅผ ๋ค์ด๋ณด๊ฒ ์ต๋๋ค. ์ฐ์ ํฉํ ๋ฆฌ์ผ์ด๋, '๊ทธ ์๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ ๋ชจ๋ ์์ ์ ์์ ๊ณฑ' ์
๋๋ค. 0! = 1 ์ด๊ณ , n! = n * (n - 1)! ์ด๋ผ๊ณ ์ดํดํ๋ฉด ๋ฉ๋๋ค. ๊ทธ ํจ์๋ ๋ค์๊ณผ ๊ฐ์ด ์ฌ๊ทํจ์๋ฅผ ํ์ฉํ์ฌ ๊ตฌํํ ์ ์์ต๋๋ค. // factorial function unsigned long long factorial(unsigned long long n) { if (n == 0) re..