[백준 | Javascript] 10872

박기영·2022년 7월 2일
0

백준

목록 보기
68/127

재귀. 1단계
10872번. 팩토리얼

문제

10872번 문제 링크

solution 1

const fs = require("fs");
const input = Number(fs.readFileSync("/dev/stdin").toString().trim());

// factorial()은 계속해서 자기 자신을 호출함
function factorial (num) {
  // 0! = 1, 1! = 1이므로 예외 처리
  if(num === 0 || num === 1){
    return 1;
  }
  
  return num * factorial(num - 1);
}

const result = factorial(input);
console.log(result);

solution 2

const fs = require("fs");
const input = Number(fs.readFileSync("/dev/stdin").toString().trim());

let factorial = 1;

if(input === 0 || input === 1){
    console.log(1);
} else{
    for(let i = 1; i <= input; i++){
        factorial *= i;
    }
    
    console.log(factorial);
}

굳이 재귀함수로 안해도 되긴하다.

profile
나를 믿는 사람들을, 실망시키지 않도록

0개의 댓글