이항계수 문제를 풀기 전에 이항계수가 무엇인지부터 알아보자!
이항계수는 조합을 의미하며, 1보다 큰 정수 N과 0보다 크고 N보다 작은 정수 K로 이루어진다.
식은 nCk = n! / (k! * (n-k)!)이다.
이번 문제는 입력받는 값의 범위가 낮아 위의 식만 그대로 구현하면 되는 문제이다.
int Factorial(int n) { if ((n == 1) || (n == 0)) return 1; else return Factorial(n - 1) * n; } int main() { int N; int K; cin >> N >> K; if(1 <= N && N <= 10 && 0 <= K && K <= N) cout << Factorial(N) / (Factorial(K) * Factorial(N - K)); return 0; }
<소스 코드>
*Source of the problem = https://www.acmicpc.net/problem/11050
*문제 출처 : BAEKJOON ONLINE JUDGE
댓글
댓글 쓰기