C,C++/코딩테스트
[수학] BOJ 11050번 이항 계수 1
권멋져
2022. 6. 8. 18:32
https://www.acmicpc.net/problem/11050
11050번: 이항 계수 1
첫째 줄에 \(N\)과 \(K\)가 주어진다. (1 ≤ \(N\) ≤ 10, 0 ≤ \(K\) ≤ \(N\))
www.acmicpc.net
- 문제파악
n 과 k 의 이항계수를 출력하라
- 정답
#include "bits/stdc++.h"
using namespace std;
int main()
{
int n, k;
cin >> n >> k;
if (!k || n == k)
{
cout << 1;
return 0;
}
// n! / (n-k)! k!
int tmp = n - k;
if (tmp < k)
{
tmp = k;
k = n - k;
}
unsigned long long a = 1, b = 1;
for (int i = 1; i <= n; i++)
{
if (i > tmp) a *= i;
else if (i <= k) b *= i;
}
cout << a / b;
}