백준
[브론즈] 이항 계수1 (11050번)
chsua
2022. 11. 24. 16:13
문제
자연수 N\(N\)과 정수 K\(K\)가 주어졌을 때 이항 계수 (NK)\(\binom{N}{K}\)를 구하는 프로그램을 작성하시오.
입력
첫째 줄에 N\(N\)과 K\(K\)가 주어진다. (1 ≤ N\(N\) ≤ 10, 0 ≤ K\(K\) ≤ N\(N\))
출력
(NK)\(\binom{N}{K}\)를 출력한다.
내 답안:
const fs = require("fs");
const filePath = process.platform === "linux" ? "/dev/stdin" : "input.txt";
let [N,K] = fs.readFileSync(filePath).toString().trim().split(" ").map(Number) ;
function pack(x){
let a = 1
for (let i = x ; i > 0 ; i-- ){
a *= i
}
return a ;
}
console.log(pack(N)/(pack(K)*pack(N-K))) ;
>> 이항계수를 구하는 따로 공식이 있음 (해당 문제는, n!/k!(n-k)!) (https://ko.wikipedia.org/wiki/%EC%9D%B4%ED%95%AD_%EA%B3%84%EC%88%98)