728x90
팩토리얼이란?
https://ko.wikipedia.org/wiki/%EA%B3%84%EC%8A%B9
0! = 1
1! = 1
2! = 2X1 = 2
3! = 3X2X1 =6
...
필요 변수
1. n 계승을 위한 변수 n
function factorial(n) {
if (n === 0 || n ===1){
return 1;
}
else{
return n * factorial(n-1);
}
}
실행 순서
n * factorial(n-1)
n * (n-1) * factorial(n-2)
n * (n-1) * (n-2) * factorial(n-3)
...
n * (n-1) * (n-2) * (n-3) * ... * 2 * factorial(1)
n=1이므로 return 1이 됨
n * (n-1) * (n-2) * (n-3) * ... * 2 * 1
재귀함수는
if문에는 return, else문에 자기 자신을 부르는 함수를 쓰고 return 하면 됩니다.
예시>
console.log(factorial(12));
console.log(factorial(6));
console.log(factorial(3));
console.log(factorial(0));
출력>
479001600
720
6
1