4. Factorial

What is Factorial?

Factorial이란, 해당하는 수부터 그 이하로 1까지를 모두 곱하는 수를 말한다.
예를 들어, 3!이면 3 x 2 x 1 = 6을 말한다.


[Problem]

Factorial을 구현하는 함수를 작성하시오.


[Algorithms]

  1. number가 1일 경우, number를 반환한다.
  2. number가 2이상이면 number부터 1씩 값을 줄여가면서, 모두 곱한다.
  3. 곱한 최종 값을 반환한다.


[Solution]

1
2
3
4
5
6
7
8
9
10
11
function factorial(number) {
if(number === 1) return number;
let result = 1;
for (var i = number; i >= 1 ; --i ) {
result *= i;
}

return result;
}

console.log(factorial(5)); // 120


[Better Practice]

1
2
3
4
5
6
7
8
9
function factorial(number) {
if(number === 1) {
return number;
} else {
return number * factorial(number-1);
}
}

console.log(factorial(5)); // 120