반응형
이항계수 문제
이항계수 = nCr 이다. (오늘 알았다)
1. 동적계획법을 이용해 풀었다 (팩토리얼 기반).
#include <stdio.h>
int Fibo[11] = {1, }; // 0! = 1
int A, B;
int main() {
for(int i = 1; i <= 10; i++) {
Fibo[i] = i * Fibo[i - 1];
}
scanf("%d %d", &A, &B);
printf("%d", Fibo[A]/(Fibo[A-B]*Fibo[B]));
}
2. 그냥 반복문을 이용한 연산 방법 (팩토리얼 기반).
#include <stdio.h>
int A, B;
int temp1 = 1, temp2 = 1;
int main() {
scanf("%d %d", &A, &B);
// N!/(N-K)!
for(int i = A; i >= A - B + 1; i--) {
temp1 *= i;
}
// K!
for(int i = B; i >= 1; i--) {
temp2 *= i;
}
printf("%d", temp1/temp2);
}
3. 이외에 파스칼의 삼각형을 이용한 방법이 있다고 한다.
이항계수를 알려주신 분..
shoark7.github.io/programming/algorithm/3-ways-to-get-binomial-coefficients
반응형
'[백준]' 카테고리의 다른 글
[BaekJoon/백준] 1010번 파스칼의 삼각형 (0) | 2021.03.03 |
---|---|
[BaekJoon/백준] 11051번 파스칼의 삼각형 (0) | 2021.03.03 |
[BaekJoon/백준] 3036번 (0) | 2021.03.01 |
[BaekJoon/백준] 2981번 (0) | 2021.03.01 |
[BaekJoon/백준] 1934번 (0) | 2021.02.27 |