style="display:inline-block;width:728px;height:90px"
data-ad-client="ca-pub-5164839828746352"
data-ad-slot="7563230308">

Fibonnaci recursivo e iterativo en Java

import java.io.*;
    public class fibonacci {
      public static BufferedReader ent = new BufferedReader(new InputStreamReader(System.in));
       public static int FibonacciIterativo(int n, int arr[]){
         for(int i = 0; i < n; i++)
            if(i < 2)
               arr[i] = 1;
            else
               arr[i] = arr[i-1] + arr[i-2];
         return arr[n-1];
      }
       public static int FibonacciRecursivo(int n){
         if(n < 2)
            return 1;
         else
            return FibonacciRecursivo(n-1) + FibonacciRecursivo(n-2);
      }
       public static void main(String args[]) throws IOException{      
         System.out.println("Dame el numero n");
         int n = Integer.parseInt(ent.readLine());
         int arr[] = new int [n];
         System.out.println("Iterativo es:");
         System.out.println("F(" + n + ")=" + FibonacciIterativo(n, arr));
         System.out.println("Recursivo es:");      
         System.out.println("F(" + n + ")=" + FibonacciRecursivo(n-1));
      }
   }

Comentarios

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.
Imagen de fcodiaz

estos post hacen mas daño de lo que ayudan

Saludos. creo que este tipo de post perjudican mas de lo que ayudan, te aseguro que tu programa terminara siendo entregado en una clase de programación basica, y ni preguntes si el chavito que hiso copy/paste de tu programa le entendió, seria mas fructuoso que explicara que es recursividad, y luego mostrar este código como ejemplo

Imagen de Marce

cada quien...

Pues yo creo que depende de la persona, en realidad te debe importar la persona que tomará provecho del post, la que aprenderá y reflexionará sobre el código y se llevara lo bueno. La persona que no haga eso simplemente será otra que pretende pasar y será un fracasado, pero eso a nosotros no nos importa. No puedes controlar quien hace buen uso del código y de los post así que no tiene nada de malo compartir. Quizá alguien ya entró y tomó algunas palabras de las que haz escrito y?

Imagen de benek

Por supuesto, cada quien...

Así es, depende de cada persona, en todo caso el "daño" se lo estaría haciendo la misma persona que lo copia, ¿no crees?

Estoy seguro que a muchos ayudaría comprender el funcionamiento al ver el código.

Si estaría bien lo que dices de que sería bueno explicar primero recursividad y luego poner el código, pero no creo que por compartir el código se haga más daño que beneficio.

Saludos.

Javier Ramírez Jr.
http://twitter.com/_benek

Documentación

Te faltó documentar el código

No creo que "dañe" a alguien :S... lo que si es confundir a los programadores que empiezan con Java.

De hecho mucho código puesto en los post le pasa lo mismo (TAMBIÉN ME INCLUYO)!

Saludos!

style="display:inline-block;width:728px;height:90px"
data-ad-client="ca-pub-5164839828746352"
data-ad-slot="7563230308">