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

JavaScript for 루프로 팩토리얼 계산하기

이번 글에서는 숫자 n을 입력받아 for 루프를 이용해 팩토리얼(factorial)을 계산하고 그 결과를 반환하는 간단한 JavaScript 함수를 작성해 보겠습니다.

팩토리얼이란?

팩토리얼은 1부터 n까지의 모든 양의 정수를 곱한 값으로, n!처럼 느낌표 기호로 표현합니다. 예를 들어 다음과 같습니다.

factorial(5) = 5 × 4 × 3 × 2 × 1 = 120
factorial(6) = 6 × 5 × 4 × 3 × 2 × 1 = 720

구현 방법

팩토리얼을 구하는 알고리즘은 매우 간단합니다.

먼저 결과를 저장할 변수(res)를 1로 초기화한 뒤, 카운터 변수 i를 입력값 num부터 시작하여 1씩 감소시키면서 res에 i를 계속 곱해 줍니다. i가 1보다 커지는 동안 반복하면 되고, 루프가 끝나면 최종 결과인 res를 반환하면 됩니다.

예제 코드

다음은 위 로직을 구현한 전체 코드입니다.

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으로, for 루프만으로도 손쉽게 팩토리얼을 계산할 수 있습니다. 이 방식은 재귀 함수를 사용하지 않기 때문에 스택 오버플로우 걱정 없이 안정적으로 동작한다는 장점이 있습니다.