Java - Calcular el factorial de un número sin usar el signo * sino sumas

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

Calcular el factorial de un número sin usar el signo * sino sumas

Publicado por ASmER3 (6 intervenciones) el 21/05/2020 00:02:22
Mi duda es tal y como dice en el título he intentado varias formas pero ninguna me resulta, alguien que pueda ayudarme por favor
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
Imágen de perfil de Lisa
Val: 172
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

Calcular el factorial de un número sin usar el signo * sino sumas

Publicado por Lisa (34 intervenciones) el 21/05/2020 01:55:13
Para calcular el factorial de un número utilizó este método:
1
2
3
4
5
6
7
private static int getFactorial(int n) {
    int f = 1;
    for (int i = n; i >= 1; i--) {
        f *= i;
    }
    return f;
}

Pero como la condición es no utilizar el símbolo de multiplicación, entonces toca crear un método para multiplicar:
1
2
3
4
5
6
7
private static int multiplicar(int a, int b) {
    int r = 0;
    for (int i = 0; i < b; i++) {
        r += a;
    }
    return r;
}

Con el problema de la multiplicación resuelto, el factorial lo sacaríamos así:
1
2
3
4
5
6
7
private static int getFactorial(int n) {
    int f = 1;
    for (int i = n; i >= 1; i--) {
        f = multiplicar(f, i);
    }
    return f;
}

Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
4
Comentar
sin imagen de perfil
Val: 23
Ha aumentado su posición en 2 puestos en Java (en relación al último mes)
Gráfica de Java

Calcular el factorial de un número sin usar el signo * sino sumas

Publicado por ASmER3 (6 intervenciones) el 21/05/2020 22:34:59
Había hecho exactamente lo mismo pero creo que mi error fue juntar el for del la función de calcular y el método de calcular creo que por eso no me salía pero gracias a tu ayuda ya me quedo mas claro, gracias por tomarte un tiempo, saludos
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