서두르지 말고 쉬지 말자

백준 11050번 이항계수 1 (C++) 본문

코딩 공부/Baekjoon Problem Solving

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

philos 2025. 3. 9. 21:37

solved.ac 난이도  : 브론즈 1

문제 유형 : 수학, 구현, 조합론

문제 해결 전략 : 조합은 팩토리얼의 곱과 나눗셈으로 나타낼 수 있다. 따라서 팩토리얼 연산을 수행하는 함수를 만들어서 연산을 수행했다. N 과 K의 범위가 작기 때문에 복잡한 알고리즘을 사용할 필요는 없었다.

문제 해결 소감 : 종이와 연필을 사용해서 조합 공식을 유도해보고 이를 이용해서 쉽게 풀었다. 이항계수가 뭔지 몰라서 검색해 봤는데 조합의 또다른 표기법이었다. 이항 정리에서 사용한다는데 배운적이 없어서 잘 모르겠다. 나중에 기회가 되면 공부해 볼 수 있겠지

#include <iostream>
int N, K;
int result = 0;
int Fac(int);
int main()
{
    std::cin >> N >> K;
    int numer = Fac(N);
    int deno = Fac(K) * Fac(N - K);
    result = numer / deno;
    std::cout << result;
}
int Fac(int n) // nCk
{
    int temp = 1;
    for (int i = 2; i <= n; ++i)
    {
        temp *= i;
    }
    return temp;
}
반응형