Development/Program Solving

[백준 10872번] 팩토리얼 (feat. NodeJS)

이쥬딩 2021. 1. 7. 02:05
728x90

 

10872번: 팩토리얼

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

www.acmicpc.net

문제

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

풀이

3! = 3 * 2 * 1

2! = 2 * 1

이런식으로 연산하는 것을 팩토리얼이라고 한다.

 

n-1을 곱하는 것이 반복되므로 재귀를 사용해서 알고리즘을 작성하면 된다.

const fs = require("fs");
const input = fs.readFileSync("/dev/stdin");
const n = parseInt(input);

const getFactorial = (n) => {
    if (n === 1 || n === 0) {
        return 1;
    }
    return n * getFactorial(n - 1);
};

const init = () => {
    const result = getFactorial(n);
    console.log(result);
};

init();
728x90