Java - suma de factoriales recursivamente

 
Vista:

suma de factoriales recursivamente

Publicado por Manolo (1 intervención) el 23/04/2020 01:24:26
Buenas, necesito hacer una programa que al introducir un número (ejemplo: 3407) haga los factoriales de 3,4,0 y 7 y finalmente sume el resultado de cada uno.

El problema lo tengo cuando hay un 0, ya que no se como hacer el return cada vez que encuentre uno. Tiene que ser de forma recursiva. Si me podéis dar alguna idea de como hacerlo, gracias! Os dejo lo que llevo hecho. Hasta el momento funciona siempre que no haya un 0.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
int sumafactorial(int n) {
 
    String numCadena= String.valueOf(n);
 
    StringBuilder nums = new StringBuilder(numCadena);
 
    int total = 0;
    int a = 0;
 
    for (int i=0; i<numCadena.length();i++) {
 
        char num = nums.charAt(i);
        a=Character.getNumericValue(num);
 
        if (a==0) return 1;
        total = total +a*sumafactorial(a-1)+contador;
 
 
    }
    return total;
}
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