Java - Recursividad y suma de numeros

 
Vista:

Recursividad y suma de numeros

Publicado por rosa (2 intervenciones) el 04/01/2008 23:08:32
Hola y Feliz Año Nuevo!

Estoy intentando hacer una funcion que dado un array de enteros y un valor, p ej 10 calcule todas las formas posibles de hallar esa suma, esto es para un array de enteros de tam 4, haga por ejemplo 1 +3+4+2 que sumaria valor que es 10, tambien vale 0 0 0 10

El algoritmo que he hecho no consigo que funcione.. ya que acepta cosas como por ejemplo 9 9 9 9 que obviamente no suma 10, pero no se como solucionarlo!

Cualquier aclaración, ayuda consejo sería estupendo.

Aqui dejo la funcion, donde huecos es el array de enteros y valor, el numero que deben sumar.

public static void generar(int[] huecos, int longitud,int valor, List datox, int fila_actual,List fila){
//System.out.println("longitud: "+longitud + "valor " +valor);
if (valor == 0){
//tenemos 1 solucion q es vacio
fila.add(generar_hijos(datox,fila_actual,huecos));
}else{

for (int i=(longitud-1); i>=0; i--){
for (int j=0; j<=valor; j++){
huecos[i]=j;
if (i==0){

/* Caso base para la i * /
}else{
generar(huecos,i,valor-j,datox,fila_actual,fila);
}
}
}
}
}
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

RE:Recursividad y suma de numeros

Publicado por Marco (57 intervenciones) el 05/01/2008 15:59:32
Los numeros que estan en el array son consecutivos?
x[]=1,2,3,4...
porque si es asi
no deberia estar el valor 10 puesto que la longitud del array es de solo cuatro.
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

RE:Recursividad y suma de numeros

Publicado por rosa (2 intervenciones) el 05/01/2008 16:39:32
Los numeros que hay en el array son las distintas sumas, si apareciese 10 es porque todos los demas valen 0.

De todos modos el número al igual que la longitud del array son variables.
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

RE:Recursividad y suma de numeros

Publicado por Jorge (1 intervención) el 05/03/2008 13:13:36
cuando valor>9
entoces logitud ++1
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