호다닥

팩토리얼 본문

알고리즘 문제

팩토리얼

3jun 2018. 10. 1. 19:47

우선 결과값을 0!의 값인 1로 초기화해준다.

var result = 1;

 

n이 1 이상인 경우에는 반복문을 사용해서 팩토리얼 계산을 해준다.

if (n > 1) {     for (var i = 1; i <= n; i++) {         result = result * i;     } }

결과값

function factorial(n) {     var result = 1;      if (n > 1) {         for (var i = 1; i <= n; i++) {             result = result * i;         }     }     return result; }  // 테스트 코드 console.log(factorial(10)); console.log(factorial(5)); console.log(factorial(3)); console.log(factorial(0));
3628800 120 6 1

 

 

사실 if문이 없더라도 n이 0인 경우에는 for 문의 조건에 따라서 for 문 내부가 실행되지 않기 때문에 아래와 같이 더욱 간단하게 고칠 수도 있다.

function factorial(n) {     var result = 1;      for (var i = 1; i <= n; i++) {         result = result * i;     }     return result; }  // 테스트 코드 console.log(factorial(10)); console.log(factorial(5)); console.log(factorial(3)); console.log(factorial(0));

 

Comments