#include <stdio.h>

#define MAX 200

 

unsigned int C[MAX + 1][MAX + 1] = { 0 };

void calcBino() {    //이항계수 계산

    for (int i = 0i <= MAX; i++) {

        C[i][0] = C[i][i] = 1;

        for (int j = 1j < ij++)

            C[i][j] = C[i - 1][j - 1] + C[i - 1][j];

    }

}

int main() {

    calcBino();

    printf("%u", C[45][6]);

}

(로또 1등 경우의 수 45C6을 출력하고 있다)


MAX개 만큼 조합의 경우의 수를 미리 계산하는 코드