#include #include #include int main() { int counter=0,n=1,r; mpz_t combinations,n_factorial,n_minus_r_factorial; mpz_t numerator,denominator,r_factorial; mpz_init(combinations); mpz_init(n_factorial); mpz_init(n_minus_r_factorial); mpz_init(numerator); mpz_init(denominator); mpz_init(r_factorial); for(;n<=100;n++) for(r=1;r<=n;r++) { mpz_fac_ui(n_factorial,n); mpz_fac_ui(r_factorial,r); mpz_fac_ui(n_minus_r_factorial,n-r); mpz_set(numerator,n_factorial); mpz_mul(denominator,n_minus_r_factorial,r_factorial); mpz_cdiv_q(combinations,numerator,denominator); if(mpz_cmp_si(combinations,1000000)>0) counter++; } printf("\n\t%i\n\n",counter); return 0; }