궤도

[백준] 11050번 : 이항 계수 1 본문

💻 현생/⛓ 알고리즘

[백준] 11050번 : 이항 계수 1

영이오 2021. 3. 24. 19:44

문제

 


본문

 

설마 이항 계수를 모르는 사람이 이 글을 보진 않겠지...고등학교 때 배우는 그거다.

nCk를 구하면 되는건데 다들 알다시피 공식은 n!/(k!(n-k)!)이다. 이걸 그대로 코드로 작성하면 된다.


소스코드

 

#include <iostream>
using namespace std;

int binomial(int N, int K) {
    int m = 1, c = 1;
    int temp_N = N;
    int temp_K = K;

    if (N / 2 < K) { //5C3 같은 경우
        K = N - K;
        temp_K = K;
    }
    for (int i = 0; i < K; i++) {
        m *= temp_N;
        c *= temp_K;
        temp_N--;
        temp_K--;
    }
    return m / c;
}

int main() {
    int N, K;

    cin >> N >> K;
    cout << binomial(N, K);
}

m에는 n!/(n-k)!이 들어가고 c에는 k!이 들어간다.

Comments