카테고리 없음

[자바스크립트] 재귀함수를 사용한 팩토리얼 함수 만들기

왕초보코딩러 2023. 9. 12. 22:07
728x90

팩토리얼이란?

https://ko.wikipedia.org/wiki/%EA%B3%84%EC%8A%B9

 

계승 - 위키백과, 우리 모두의 백과사전

위키백과, 우리 모두의 백과사전. 계승(繼承)에 대해서는 왕위 계승 문서를 참고하십시오. 수학에서, 자연수의 계승 또는 팩토리얼(階乘, 문화어: 차례곱, 영어: factorial)은 그 수보다 작거나 같은

ko.wikipedia.org

 

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