알고리즘 문제 풀이/백준 온라인 저지
백준 11050번: 이항 계수1 (C++)
Hugxy
2019. 8. 5. 12:48
문제 링크: https://www.acmicpc.net/problem/11050
n과 k가 주어질 때, nCk를 구하면 되는 문제이다.
팩토리얼 계산을 통해서 구현하면 된다.
팩토리얼을 통한 구현은, n이 15만 되더라도 int의 범위 근처이고, 21까지만 되도 long long의 범위 근처이기 때문에, 이 문제처럼 n이 10으로 작을 경우에만 사용한다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | #include<iostream> using namespace std; typedef long long ll; int main(void) { ll n, k; cin >> n >> k; ll son = 1, mom = 1; for (int i = 0; i < k; i++) son = son * (n - i); for (int i = 0; i < k; i++) mom = mom * (k - i); cout << son / mom; return 0; } | cs |