[ Foro de Java ]

suma de factoriales recursivamente

23-Apr-2020 01:59
Invitado (Manolo)
0 Respuestas

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.

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;
}




(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)