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.
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


0