백준 11050번은 이항 계수를 구하는 문제이다.
https://www.acmicpc.net/problem/11050
11050번: 이항 계수 1
첫째 줄에 \(N\)과 \(K\)가 주어진다. (1 ≤ \(N\) ≤ 10, 0 ≤ \(K\) ≤ \(N\))
www.acmicpc.net
이항 계수 공식을 보면 팩토리얼을 사용하는 것을 볼 수 있다.
따라서 이 문제는 팩토리얼 알고리즘만 알면 쉽게 풀 수 있다.
#include <iostream>
using namespace std;
int factorial(int num) {
if (num == 0 || num == 1) {
return 1;
}
else return num * factorial(num - 1);
}
int main() {
ios::sync_with_stdio(false);
cin.tie(NULL);
int n, k;
int result;
cin >> n >> k;
result = factorial(n) / (factorial(k) * factorial(n - k));
cout << result;
return 0;
}
'코딩테스트 > Baekjoon' 카테고리의 다른 글
[백준 #10828] 스택 (C++) (0) | 2021.08.17 |
---|---|
[백준 #11651] 좌표 정렬하기 2 (C++) (0) | 2021.08.17 |
[백준 #11650] 좌표 정렬하기 (C++) (0) | 2021.08.17 |
[백준 #11279] 최대 힙 (C++) (0) | 2021.08.16 |
[백준 #1927] 최소 힙 (C++) (1) | 2021.08.16 |