반응형
백준 10872번 팩토리얼 (javascript, node.js)
문제
10872번: 팩토리얼
0보다 크거나 같은 정수 N이 주어진다. 이때, N!을 출력하는 프로그램을 작성하시오.
www.acmicpc.net
-0보다 크거나 같은 정수 N이 주어진다. 이때, N!을 출력하는 프로그램을 작성하시오.
입력
- 첫째 줄에 정수 N(0 ≤ N ≤ 12)이 주어진다.
출력
- 첫째 줄에 N!을 출력한다.
예제입력 1
10
예제출력 1
3628800
예제입력 2
0
예제출력 2
1
문제풀이
- 그냥 팩토리얼 구하는 문제
- 단순하게 반복문으로 n 부터 1까지 반복하여 곱해주는 방법과
- 재귀함수를 활용하여 푸는 방법이 있다.
// 10872번 팩토리얼
const fs = require('fs');
const file = process.platform === 'linux' ? 'dev/stdin' : './text.txt';
const input= fs.readFileSync(file).toString().trim().split(' ');
const n = input.map(Number);
// 그냥 푸는 방법
// let result =1;
// for(i =n; i >=1 ; i--){
// result = result* i;
// }
// console.log(result);
// 재귀 함수 사용
function factorial(n) {
if(n < 0){
return -1;
}else if (n == 0){
return 1;
}else{
return (n * factorial(n -1));
}
}
console.log(factorial(n));
'Algorithm_javascript > 17. 조합론' 카테고리의 다른 글
# 백준 1010번 다리 놓기 (javascript, node.js) (0) | 2023.07.31 |
---|---|
# 백준 11050번 이항계수1 (javascript, node.js) (0) | 2023.07.30 |
# 백준 24723번 녹색거탑 (javascript, node.js) (0) | 2023.07.30 |
# 백준 15439번 베라의 패션 (javascript, node.js) (0) | 2023.07.30 |