CS/알고리즘

백준 10872번 nodeJS 팩토리얼

꿀표 2022. 8. 31. 22:41
문제

0보다 크거나 같은 정수 N이 주어진다. 이때, N!을 출력하는 프로그램을 작성하시오.

(첫째 줄에 정수 N(0 ≤ N ≤ 12)이 주어진다.)

 

 

풀이

4! = 4 * 3 * 2 * 1

3! = 3 * 2 * 1

2! = 2 * 1

1! = 1 * 1

 

1이 될때까지 n-1을 반복하는게 팩토리얼 이다.

N의 범위가 크지 않으므로 재귀 함수를 통해 해결한다.

 

코드
const input = require('fs').readFileSync('/dev/stdin');

const N = +input;

const getNumberSum = (num) => {
    if (num < 2) {
        return 1;
    }
    
    return num * getNumberSum(num - 1)
}

const printResult = () => {
    return getNumberSum(N);
}

console.log(printResult());

 

 

 

https://www.acmicpc.net/problem/10872

 

10872번: 팩토리얼

0보다 크거나 같은 정수 N이 주어진다. 이때, N!을 출력하는 프로그램을 작성하시오.

www.acmicpc.net