문제
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
'CS > 알고리즘' 카테고리의 다른 글
백준 15988번 1, 2, 3 더하기 node js (0) | 2022.12.13 |
---|---|
백준 1912번 연속합 node js (0) | 2022.12.04 |
백준 17478번 재귀함수가 뭔가요? javascript (0) | 2022.09.05 |
백준 10870번 피보나치 JS (0) | 2022.09.01 |