Java - Numeros combinados en Java. Me tira como resultado un 0.

 
Vista:
sin imagen de perfil
Val: 7
Ha aumentado su posición en 5 puestos en Java (en relación al último mes)
Gráfica de Java

Numeros combinados en Java. Me tira como resultado un 0.

Publicado por Darka (6 intervenciones) el 20/03/2019 01:44:32
Hola, estoy tratando de hacer esta formula en java:


unknown

y aqui mi codigo:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
public int numeroCombinatorio(int m)
	{
		int factorialn = 1; int factorialn1 = 1; int factorialmn = 1; int nm=0; int auxn=0; int auxm=0, combinatoria;
 
		auxn = n;
		auxm = m;
 
		while(auxn!=0) //factorial de n
		{
			factorialn=factorialn*auxn;
			auxn--;
		}
 
		while(auxm!=0) //factorial de m
		{
			factorialn1=factorialn1*auxm;
			auxm--;
		}
 
		nm = m-n; // resto m y n
 
		if(m-n==0 && m-n==1) // factorial de (m-n)
		{
			factorialmn=1;
		}
 
		while(nm!=0)
		{
			factorialmn=factorialmn*nm;
			nm--;
		}
 
		combinatoria = factorialn/(factorialn1*factorialmn); //la operaicon de la formula
 
		return combinatoria;
	}
}

Main:

1
System.out.println("Numeros Combinados: " + n.numeroCombinatorio(6));

El numero de n es 3.

El problema es que cuando ejecuto el codigo, me da como resultado un 0 en la consola (antes me daba error divided by zero). y no se como podria solucionarlo.
Muchas gracias por su atencion.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 96
Ha disminuido 1 puesto en Java (en relación al último mes)
Gráfica de Java

Numeros combinados en Java. Me tira como resultado un 0.

Publicado por Bruno (43 intervenciones) el 21/03/2019 04:05:47
1
2
3
4
5
6
7
8
9
10
11
12
13
14
System.out.println ("Número combinatorio");
System.out.println ("Para m=7 y n=9: " + NumeroCombinatorio (7,9));  // Aquí debe mostrar 36
 
public int NumeroCombinatorio (int n, int m) {
  return Factorial (n) / Factorial (m) * Factorial (n - m);
}
 
public int Factorial (int n) {
  // caso base
  if ( n == 1)
    return 1;
  else
    return Factorial (n - 1) * n;
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar