본문 바로가기

백준/C++

[C++] 백준 11050번 - 이항 계수 1

728x90

 

문제 11050번

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

 

이항 계수란 주어진 집합에서 순서없이 원하는 개수만큼 뽑는 조합의 개수를 의미한다.

 

이항 계수의 식에 맞게 계산식을 써주고 펙토리얼 계산은 따로 함수로 만들었다. 반복문을 사용하여 펙토리얼을 계산해주었다. 0!은 1이기 때문에 1을 리턴해주고, 다른 값들은 1부터 해당 값까지의 숫자를 다 곱해주고 리턴해준다.

#include <iostream>
using namespace std;

int fac(int a) {
	if (a == 0) {
		return 1;
	}
	
	int num = 1;
	for (int i = 1; i <= a; i++) {
		num *= i;
	}
	return num;
}

int main() {
	int n, k;
	cin >> n >> k;
	cout << fac(n) / (fac(n - k) * fac(k));

	return 0;
}

 

 

 

728x90