코딩테스트/Baekjoon

[백준 #11050] 이항 계수 1 (C++)

동띵 2021. 8. 12. 10:33

백준 11050번은 이항 계수를 구하는 문제이다.

 

https://www.acmicpc.net/problem/11050

 

11050번: 이항 계수 1

첫째 줄에 \(N\)과 \(K\)가 주어진다. (1 ≤ \(N\) ≤ 10, 0 ≤ \(K\) ≤ \(N\))

www.acmicpc.net

 

이항 계수 공식

이항 계수 공식을 보면 팩토리얼을 사용하는 것을 볼 수 있다. 

따라서 이 문제는 팩토리얼 알고리즘만 알면 쉽게 풀 수 있다.

 

#include <iostream>
using namespace std;

int factorial(int num) {
	if (num == 0 || num == 1) {
		return 1;
	}
	else return num * factorial(num - 1);
}

int main() {
	ios::sync_with_stdio(false);
	cin.tie(NULL);

	int n, k;
	int result;

	cin >> n >> k;
	result = factorial(n) / (factorial(k) * factorial(n - k));

	cout << result;
	return 0;
}