Busca en el Blog


Fibonacci en java

La serie de fibonacci la forman una serie de números tales que:

El primer término de la serie es el número 1
El segundo término de la serie es el número 1
Los siguientes términos de la serie de fibonacci se obtienen de la suma de los dos anteriores:

1, 1, 2, 3, 5, 8, 13, .....  

Vamos a escribir el programa java que muestra los N primeros números de la serie. El valor de N se lee por teclado.


import java.util.*;
/**
 * Serie de Fibonacci en Java
 * Programa que imprima los N primeros números de la serie de Fibonacci.
 * El primer número de la serie es 1, el segundo número es 1 y cada uno de los
 * siguientes es la suma de los dos anteriores.
 * 1, 1, 2, 3, 5, 8, 13,  ....... , N
 * @author Enrique
 */
public class Main{
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        int numero,fibo1,fibo2,i;
        do{
            System.out.print("Introduce numero mayor que 1: ");
            numero = sc.nextInt();
        }while(numero<=1);
        System.out.println("Los " + numero + " primeros términos de la serie de Fibonacci son:");


        fibo1=1;
        fibo2=1;


        System.out.print(fibo1 + " ");
        for(i=2;i<=numero;i++){
             System.out.print(fibo2 + " ");
             fibo2 = fibo1 + fibo2;
             fibo1 = fibo2 - fibo1;
        }
        System.out.println();
    }
}
 






9 comentarios:

  1. amigo como lo pasarias a un algoritmo?
    ps antes de pasarlo a java me lo arias porfa?

    ResponderEliminar
  2. la serie fibo comienza en cero, no en uno xd

    ResponderEliminar
  3. Este comentario ha sido eliminado por el autor.

    ResponderEliminar
  4. Respuestas
    1. class Ejercicio{

      public static int fibonacci(int n)
      {
      if(n<2) return 1;
      else
      return fibonacci(n-1) + fibonacci(n-2);
      }

      Eliminar
  5. System.out.println("introduzca el tamaño de la serie: ");
    int n=Teclado.readInt();
    int x =0;
    int y =0;
    int solucion;

    for(int i=1;i<n+1;i++){
    if(i==1 || i==2){
    System.out.print("1, ");
    x=1;
    y=1;
    }
    else{
    solucion=x+y;
    System.out.print(solucion+",");
    x=y;
    y=solucion;
    }

    }

    }

    Esta sol me gusta más...

    ResponderEliminar