int fibonacciItr(int n)             /* Derived from    */
 { int a, b, oldA;                  /* O(n) recursive  */
   a=0; b=1;                        /* by removal of   */
   while(n > 1)                     /* tail recursion. */
    { oldA=a; a=b; b=b+oldA;        /* L.Allison,      */
      n-- ;                         /* Comp Sci        */
    }
   return b;
 }

/* O(n) time Fibonacci Function, Non-Recursive */

