int main(){ int casillas, objetos, nMelate; printf("Ingresa el numero de elementos: \n"); scanf("%i", &objetos); printf("Ingresa el numero de casillas: \n"); scanf("%i", &casillas); if (casillas > 0 && objetos > 0 && casillas < objetos){ nMelate = nFactorial(objetos) / nFactorial(objetos - casillas); printf("Se pueden obtener %i combinaciones\n", nMelate); }else{ printf("ERROR El numero de casillas es mayor al numero de elementos\n"); main(); } return 0; }
double pConvolveUniform( double q, double n ) { double p = 0.0; for(int i = 0; i < n; i++) { p += (double)((-1) * ((i % 2)*2-1) * pow((0<(q-(double)i))?(q-(double)i):0, n) / (nFactorial(n-i) * nFactorial(i))); } p = p>1.0?1.0:p; return(p); }
int permutaciones(int objetos, int casillas){ int nMelate = nFactorial(objetos) / nFactorial(objetos - casillas); return nMelate; }
double nFactorial(double n) { if( n == 0 ) return 1; if( n > 0 ) return n * nFactorial(n-1) ; return 0; }
int combinaciones(int objetos, int casillas){ int nMelate; nMelate = nFactorial(objetos) / (nFactorial(casillas) * nFactorial(objetos - casillas)); return nMelate; }