Foros del Web » Programación para mayores de 30 ;) » Java »

Serie fibonacci

Estas en el tema de Serie fibonacci en el foro de Java en Foros del Web. Hola.... Tengo un vector lleno de tipo entero, ¿como hago para hallarle la serie fibonacci a cada volar. GRACIAS Chao se cuidan...
  #1 (permalink)  
Antiguo 09/02/2010, 17:18
 
Fecha de Ingreso: febrero-2010
Ubicación: Bucaramanga
Mensajes: 12
Antigüedad: 14 años, 2 meses
Puntos: 0
De acuerdo Serie fibonacci

Hola....
Tengo un vector lleno de tipo entero, ¿como hago para hallarle la serie fibonacci a cada volar.
GRACIAS
Chao se cuidan
  #2 (permalink)  
Antiguo 09/02/2010, 17:21
 
Fecha de Ingreso: mayo-2008
Ubicación: Sevilla - España
Mensajes: 140
Antigüedad: 15 años, 11 meses
Puntos: 1
Respuesta: Serie fibonacci

Como asi, que la seríe fibonacci a cada volar, supongo es valor, sabes cual es la serie fibonaci, 1,1,2,3,5,8,13,21,34,55 etc, cada valor siguiente es kla suma de los dos anteriores, espero haberte podido ayudar!
  #3 (permalink)  
Antiguo 09/02/2010, 17:55
Avatar de fradve  
Fecha de Ingreso: abril-2009
Mensajes: 157
Antigüedad: 15 años
Puntos: 7
Respuesta: Serie fibonacci

Pues sigue el mismo algoritmo para generar los numeros fibonacci, sino que el inicio de la serie lo da cada número de tu arreglo, es decir:

si el número en tu arreglo es 4, entonces:

4, 4, 8, 12, 20,...

o si es 10:

10,10,20,30,50,...

si no tienes el code, aqui está:
Código java:
Ver original
  1. int cont=0;
  2. int fibo=1,aux1=0,aux2=0;
  3.  
  4. while(cont<10) //generamos máximo 10 números por cada serie
  5. {
  6.    System.out.print(fibo + "-");
  7.    aux1=aux2;
  8.    aux2=fibo;
  9.    fibo=aux1+aux2;
  10.    cont++;
  11. }

en este caso la variable fibo está inicializada con 1 que es el inico por defecto de la seriem tú solo deberías asignarle el que está en tu arreglo y asunto solucionado
__________________
En programación hay mil y un formas de hacer lo mismo...

Última edición por fradve; 09/02/2010 a las 17:57 Razón: identacion
  #4 (permalink)  
Antiguo 10/02/2010, 10:10
 
Fecha de Ingreso: febrero-2010
Ubicación: Bucaramanga
Mensajes: 12
Antigüedad: 14 años, 2 meses
Puntos: 0
Respuesta: Serie fibonacci

como asi, si el número en tu arreglo es 4, entonces:

4, 4, 8, 12, 20,...

no deberia ser: 4 entonces:
0
1
1
2
3.....
para 4 la sarie fibonacci es 3
  #5 (permalink)  
Antiguo 10/02/2010, 15:54
Avatar de fradve  
Fecha de Ingreso: abril-2009
Mensajes: 157
Antigüedad: 15 años
Puntos: 7
Respuesta: Serie fibonacci

Es que dices hallarle la serie fibonacci a cada valor, nunca dices el número del arreglo determina los términos de la serie, además la serie de fibonacci empieza 1,1 y no con 0 con afirmas. El código igual te sirve ya que lo único que tienes que modificar es la condición ya que ahi pone el límite de 10 términos fijo tú colocale la variable de tu arreglo y listo.
__________________
En programación hay mil y un formas de hacer lo mismo...
  #6 (permalink)  
Antiguo 10/02/2010, 21:54
 
Fecha de Ingreso: enero-2010
Mensajes: 25
Antigüedad: 14 años, 2 meses
Puntos: 0
Respuesta: Serie fibonacci

Aquí tienes una Clase Fibonacci que había hecho para una tarea en la facultad, talvez te sirva

Código JAVA:
Ver original
  1. /**
  2.  * Autor: Jorge Ramirez.
  3.  */
  4. public class Fibonacci {
  5.     long numeros[]  = null;  //tabla utilizada para almacenar los valores asi no seran recalculados (Programación Dinamica).
  6.     public Fibonacci( int size ){
  7.         numeros = new long[size];
  8.         for(int i = 0; i < size ; i++ ){
  9.             numeros[i] = 0;
  10.         }
  11.         numeros[0] = numeros[1] = 1;
  12.     }
  13.    
  14.      /* funcion para calcular la serie fibonacci de un nro utilizando la Técnica Divide y Vencerás*/
  15.      public long fiboDV( int numero ){
  16.         if( numero == 0 || numero == 1 ){
  17.             return 1;
  18.         }
  19.         else{
  20.             return ( numeros[numero] = fiboDV(numero-1) + fiboDV(numero-2));
  21.         }
  22.     }
  23.  
  24.      /* funcion para calcular la seriefibonacci de un nro utilizando la Técnica de Programación Dinamica*/
  25.     public  long fiboDI( int numero ){
  26.         if( numeros[numero] != 0){
  27.             return numeros[numero];
  28.         }
  29.         else{
  30.             return (numeros[numero] = fiboDV(numero-1) + fiboDV(numero-2));
  31.         }
  32.     }
  33.     // retorna todos los numeros de la serie fibonacci del numero ingresado
  34.     public String serie(){
  35.         String s = "";
  36.         for(int i = 0 ; i < numeros.length ; i++){
  37.             if(numeros[i] != 0)
  38.                 s += numeros[i] + " ";
  39.         }
  40.         return s;
  41.     }
  42. }


Para los conceptos que se mencionan en la clase, por si tengas curiosidad

http://es.wikipedia.org/wiki/Programaci%C3%B3n_din%C3%A1mica_%28inform%C3%A1tic a%29

http://es.wikipedia.org/wiki/Algoritmo_divide_y_vencer%C3%A1s

Saludos



------------------------------------
visiten www.devshared.net


Etiquetas: fibonacci, serie
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 20:56.