728x90
반응형
간단한 팩토리얼 문제이다
N * N-1 * N-2 * ... 1
아래 코드를 해석해보자면
N이 4라고 가정한다면
(1) f(4)*4;
(2) f(3)*3;
(3) f(2)*2;
(4) f(1)*1; <- 이 부분부터 if문에서 N이 2이하일때는 return N이기에 다시 차근차근 올라가면
(4) return 1*1 => (3) return 1*2 => (2) return 2*3 => (1) return 6*4 =>result = 24 결과값이 나온다.
const readline = require('readline');
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout
});
rl.on('line', (answer) => {
const N = parseInt(answer);
const result = a(N);
console.log(result);
rl.close();
});
function a(N){
if(N===0){
return N+1;
}
if(N<2){
return N;
}
return a(N-1)*N;
}
728x90
반응형
'알고리즘 > 백준알고리즘' 카테고리의 다른 글
[백준 알고리즘] 7576번 토마토 with JAVA (메모리 초과) (0) | 2022.01.27 |
---|---|
[백준 알고리즘]10828번 stack 문제 python (0) | 2021.03.30 |
[백준 알고리즘 3009]네 번째 점 python으로 구현. (0) | 2020.11.16 |
댓글