The following version of ImprovedFibonacci has the index count down
from MAX_VALUE to 1.  The first line is now printed with MAX_INDEX
instead of "1".  Next, MAX_INDEX - 1 is used as the initial value of
the loop.  The increment operator is changed to a decrement operator,
since now we're counting down, and we want to continue executing the
loop until i reaches its final value of one (inclusive), so the test
expression now returns true as long as "i" is greater than or equal to
one.

class ImprovedFibonacci {
    /** Print out the first few Fibonacci
      * numbers, marking evens with a '*' */
    static final int MAX_INDEX = 10;

    public static void main(String[] args) {
	int lo = 1;
	int hi = 1;
	String mark;

	System.out.println(MAX_INDEX + ": " + lo);
	for (int i = MAX_INDEX - 1; i >= 1; i--) {
	    if (hi % 2 == 0)
		mark = " *";
	    else
		mark = "";
	    System.out.println(i + ": " + hi + mark);
	    hi = lo + hi;	// new hi
	    /* new lo is (sum - old lo) i.e., the old hi */
	    lo = hi - lo;
	}
    }
}
