      1  import java.util.Scanner;

      2

      3  /**

      4     This program computes Fibonacci numbers using an iterative method.

      5  */

      6  public class LoopFib

      7  {

      8     public static void main(String[] args)

      9     {

     10        Scanner in = new Scanner(System.in);

     11        System.out.print("Enter n: ");

     12        int n = in.nextInt();

     13

     14        for (int i = 1; i <= n; i++)

     15        {

     16           long f = fib(i);

     17           System.out.println("fib(" + i + ") = " + f);

     18        }

     19     }

     20

     21     /**

     22        Computes a Fibonacci number.

     23        @param n an integer

     24        @return the nth Fibonacci number

     25     */

     26     public static long fib(int n)

     27     {

     28        if (n <= 2) { return 1; }

     29        long olderValue = 1;

     30        long oldValue = 1;

     31        long newValue = 1;

     32        for (int i = 3; i <= n; i++)

     33        {

     34           newValue = oldValue + olderValue;

     35           olderValue = oldValue;

     36           oldValue = newValue;

     37        }

     38        return newValue;

     39     }

     40  }