Números combinatorios

María Ponz

/* Programa que calcula el número combinatorio de dos numeros naturales dados e indica el significado del resultado. Para ello, simplemente se aplica la definición de número combinatorio, a saber, el número combinatorio de n sobre m (con n>=m) es n!/(m!(n-m)! ó es cero en el caso de que m>n */

#include <iostream>

using namespace std;

int main()
{
int i, n, m, r, factorialN,factorialM, factorialR,C;

cout << “Calculo del numero combinatorio de dos dados.”<< endl << endl;
cin>> n>>m;
cout<<endl<<endl;
if (n<m)
cout<<“El numero combinatorio de “<<n<<” sobre “<<m<<” es 0.”<<endl;
else{
factorialN = 1;
for (i=1; i<=n; i++){
factorialN = factorialN*i;
}

factorialM=1;
for (i=1; i<=m; i++){
factorialM = factorialM * i;
}

r=n-m;
factorialR=1;
for (i=1; i<=r; i++){
factorialR = factorialR * i;
}
C= factorialN/(factorialM*factorialR);
cout<<“El numero combinatorio de “<<n<<” sobre “<<m<<” es: “<<C;
}
/* Notar que en el caso de que m, n o n-m sea 0, el bucle for no se produce
y estamos asignando al factorial de 0 el valor 1, lo cual es cierto por definicion.*/

cout <<endl<<endl<<“Este es el numero de posibles combinaciones de “<<n<<” elementos tomados de ”
<<m<<” en “<<m<< endl << endl;

return 0;
}

Anuncios
Esta entrada fue publicada en Informática e Internet. Guarda el enlace permanente.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s