Iterative Fibonacci code in Java?

In fibonacci sequence each item is the sum of the previous two. So, you wrote a recursive algorithm.

So,

fibonacci(5) = fibonacci(4) + fibonacci(3)
fibonacci(3) = fibonacci(2) + fibonacci(1)
fibonacci(4) = fibonacci(3) + fibonacci(2)
fibonacci(2) = fibonacci(1) + fibonacci(0)

Now you already know fibonacci(1)==1 and fibonacci(0) == 0. So, you can subsequently calculate the other values.

Now,

 fibonacci(2) = 1+0 = 1
 fibonacci(3) = 1+1 = 2
 fibonacci(4) = 2+1 = 3
 fibonacci(5) = 3+2 = 5  
  

And from fibonacci sequence 0,1,1,2,3,5,8,13,21…. we can see that for 5th element the fibonacci sequence returns 5.

like in your code

 int a = 0; 
 int fib = 1;
for(int i=0; i<5; i++) {
    fib = fib + a;
    a = fib;
}
return fib; //5

This returns 4 for fibbonnacci(3):

i=0;fib=1;a=0 so: {fib= fib+a => fib==1;a= fib => a==1} (first iteration)

i=1;fib=1;a=1 so: {fib= fib+a => fib==2;a= fib => a==2} (second iteration)

i=2;fib=2;a=2 so: {fib= fib+a => fib==4;a= fib => a==4} (third iteration)

Leave a Comment