문제 : https://www.acmicpc.net/problem/11050
<내 풀이 with node.js>
const fs = require("fs");
const input = fs.readFileSync(0).toString().trim().split('\n');
const [n,k] = input[0].split(' ').map(Number);
// 이항계수 공식 = n!/((n-k)!k!)
function factorial(n) {
let result = 1;
for(let i=1; i<=n; i++) result *= i;
return result;
}
console.log(factorial(n)/(factorial(n-k)*factorial(k)));
- 이항계수 : 주어진 집합에서 원하는 개수만큼 순서없이 뽑는 조합의 개수
- 공식 : n C k = n! / ((n-k)! * k!)
- 풀이 : ‘팩토리얼’함수를 만들어 활용
- 팩토리얼(!, factorial) : n!라면, 1부터 n까지 모든 수를 곱한 값