Computer >> 컴퓨터 >  >> 프로그래밍 >> JavaScript

JavaScript로 숫자의 팩토리얼(계승)을 계산하는 함수 작성하기

이번 글에서는 숫자 n을 입력받아 해당 숫자의 팩토리얼(factorial, 계승)을 계산하는 간단한 JavaScript 함수를 작성해 보겠습니다.

팩토리얼이란?

팩토리얼은 1부터 n까지의 모든 양의 정수를 곱한 값으로, 수학 기호로는 n!로 표현합니다. 예를 들어 5! = 5 × 4 × 3 × 2 × 1 = 120입니다. 조합론, 확률 계산 등 다양한 분야에서 활용되는 개념입니다.

알고리즘 접근 방식

가장 직관적인 방법은 반복문을 활용하는 것입니다. 알고리즘의 흐름은 다음과 같습니다.

먼저 결과를 저장할 변수(res)를 1로 초기화합니다. 그다음 입력받은 숫자부터 시작해 1씩 감소시키면서 각 값을 결과 변수에 계속 곱해 줍니다. 이 과정을 카운트 값이 1에 도달할 때까지 반복하면, 최종적으로 결과 변수에 팩토리얼 값이 저장됩니다.

코드 구현

위 로직을 화살표 함수(arrow function) 형태로 구현하면 다음과 같습니다.

const num = 14;
const factorial = num => {
    let res = 1;
    for(let i = num; i > 1; i--){
        res *= i;
    };
    return res;
};
console.log(factorial(num));

실행 결과

위 코드를 실행하면 콘솔에 다음과 같은 출력이 나타납니다.

87178291200

14! = 87,178,291,200으로, 코드가 정상적으로 동작하는 것을 확인할 수 있습니다.

마무리

이처럼 반복문 하나만으로도 팩토리얼을 손쉽게 계산할 수 있습니다. 참고로 재귀 함수(recursion)를 사용하는 방법도 있으며, 큰 수를 다룰 경우에는 BigInt 타입을 활용하면 더욱 정확한 계산이 가능합니다.