728x90

문제 설명  

nCrnCr nn개의 원소를 가지는 집합에서 rr개의 부분 집합을 고르는 조합의 수를 말한다.

nCrnCr을 일반 공식은 다음과 같다.

nCr=nPrr!=n!r!(nr)!nCr=nPrr!=n!r!⋅(n−r)!

5C25C2는 다음과 같이 구할 수 있다.

5C2=5!3!×2!=5×4×3×2×1(3×2×1)×(2×1)=105C2=5!3!×2!=5×4×3×2×1(3×2×1)×(2×1)=10

nCrnCr을 구하는 프로그램을 작성하시오.

 

입력

nn rr이 입력된다. (1<=r<=n<=12)(1<=r<=n<=12)

 

출력

nCrnCr의 값을 출력한다.

 

입력 예시

5 2

 

출력 예시

10

 

#include <iostream>
using namespace std;

int f(int var)
{
	for (int i = var - 1; i >= 1; --i)
		var *= i;
	return var;
}

int main()
{
	int n, c, r;
	cin >> n >> r;
	c = n - r;
	if ((f(c) * f(r) != 0)) cout << f(n) / (f(c) * f(r)) << endl;
	else cout << 1 << endl;
	return 0;
}

 

728x90

'Algorithm > codeup' 카테고리의 다른 글

c++ 1292 : 범인을 잡아라 1  (0) 2020.11.08
c++ 1289 : 가장 큰 운동장  (0) 2020.11.08
c++ 1287 : 구구단을 *로 출력하기  (0) 2020.11.08
c++ 1283 : 주식 투자  (0) 2020.11.07
c++ 1282 : 제곱수 만들기  (0) 2020.11.07