오답노트

조합 알고리즘 본문

C,C++

조합 알고리즘

권멋져 2022. 5. 9. 23:22

가끔 쓰는데가 있어서 여따 올린다

unsigned long long func(int a, int b)
{
    int nChoose = 0, kChoose = 0;
    unsigned long long p = 1, q = 1;

    if (b == 0 || a == b)
        return 1;

    if (a - b > b)
    {
        nChoose = a - b;
        kChoose = b;
    }
    else
    {
        kChoose = a - b;
        nChoose = b;
    }

    //nCk or nCn-k
    for (int j = 1; j <= a; j++)
    {
        if (nChoose < j)
            p *= j; //n*..*k+1 
        if (kChoose >= j)
            q *= j; //  k!

    }

    return p / q;
}

'C,C++' 카테고리의 다른 글

MFC ADO 연결 샘플 소스  (0) 2021.10.20
ODBC 예제 프로젝트 링크  (0) 2021.10.08
ANSI -> UTF8 (유니코드 -> 멀티바이트)  (0) 2021.10.05
iterator 사용법  (0) 2021.08.09
malloc 과 sizeof  (0) 2021.03.27