오늘의 알고리즘

[C++] 백준 11050 이항 계수 1 (이항 계수)

하늘하늘 . 2022. 8. 9. 20:58
#include <iostream>
 
int main()
{
    int N = 0;
    int K = 0;
    std::cin >> N >> K;
    int iNumber = N - K + 1;
    int iSum = 1;
 
    for (;iNumber <= N; ++iNumber)
    {
       iSum *= iNumber;
    }
 
    for (; K > 0; --K)
    {
        iSum /= K;
    }
 
    std::cout << iSum;
 
    return 0;
}

이항 계수는 이항 정리로 전개했을 때 각 항의 계수이며, 주어진 크기의 (순서 없는) 조합의 가짓수이다.

1

1 1

1 2 1

1 3 3 1

1 4 6 4 1

이렇게 커간다.

 

(N K) = (N N-K)

(N K) + (N K+1) = (N+1 K+1)

등이 있다.