Java - Sumar Secuencia de un numero indeterminado.

 
Vista:

Sumar Secuencia de un numero indeterminado.

Publicado por Carolina Zuñiga (4 intervenciones) el 17/05/2011 05:57:41
Estimados.

Estoy iniciandome en java y ultimamente he tenido algunas dificultades para entender los ejercicios ke debo hacer. He probado varias formas de realizar el ejercicio pero no resulta. Es posible que me puedan orientar un poco para entender la logica.

El ejercicio es el siguiente.
- sumaEspecial: Devolverá la suma de la siguiente serie 4, 8, 12, 16,.. menores o iguales al atributo
Ejemplo:
Si numero x fuese 19 devolverá 40, pues los números de la serie menores a 19 son 4+8+12+16=40.

No logro decifrar la logica es posible ke me puedan orientar...

Por favor pliiiiiiiiiiiiiiiiiissssss...

De antemano muchas gracias....

Carolina Zuñiga.
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

Sumar Secuencia de un numero indeterminado.

Publicado por Mau Trigo (2 intervenciones) el 17/05/2011 07:24:40
Una posible solución usando Recursividad seria esta:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
/**
      * x: es el valor o podemos decir limite para 
      * que suma se siga incrementando.
      * razon: es el parametro que se compromete a sumar de 4 en 4
      * nuestro parametro sum.
      * sum: la suma final cuando razon sobre pasa el parametro limite x.
      * res: output. 
      */
    public int sumaEspecial(int x){
     return sumaEspecial(x,0,0);
    }
    private int sumaEspecial(int x,int razon,int sum){
     int res=0;
     if(x < razon) //Ejemplo: razon = 16, es menor que x=19 ya que 20 es > 19, retorna res.  
     res = sum;
     else
     res = sumaEspecial(x,razon+4,sum+razon);
     return res;
    }

Lo programe rapido, no lo revise en detalle pero funciona :) saludos desde Bolivia.
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

Sumar Secuencia de un numero indeterminado.

Publicado por Mau Trigo (2 intervenciones) el 17/05/2011 07:34:48
Una breve explicacion creo q hizo falta:
en este método hice una sobrecarga, implementando otro metodo con el mismo nombre pero con 3 parametros, tiene que ser privado, porque al usuario no le interesa los demas parametros,int x, int razon, int sum: x toma el valor de entrada se deja como está, los otros parametros inicializamos en 0,por definicion de recursividad(valor inicial).
Cuando la razon(que se va incrementando de 4 en 4) sea mayor a x, retorna res, podriamos poner return sum, da lo mismo, solo lo asigne el valor de sum en res.
Caso contrario hace una llamada recursiva al mismo metodo, pasandole "nuevos parametros" ahora razon se incrementa en 4 y a suma se le suma la razon, nota que razon va de 4 en 4: 4+4+4+4... y razon lo va sumando 4+8+12+16...
Es todo :).
un pequeño lema de eficiencia:
"Iterar es humano, recursivar es divino.."
:)
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

Sumar Secuencia de un numero indeterminado.

Publicado por carolina Zuñiga (4 intervenciones) el 17/05/2011 18:07:42
Te pasaste..la verdad ke tengo ke tomarle el hilo a esto pero me ha costado y me cuesta encontrar la logica.......GRACIAS por tu respuesta..Muchas gracias....

Carolina Zuñiga.
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