문제 설명
nCrnCr은 nn개의 원소를 가지는 집합에서 rr개의 부분 집합을 고르는 조합의 수를 말한다.
nCrnCr을 일반 공식은 다음과 같다.
nCr=nPrr!=n!r!⋅(n−r)!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;
}