import java.util.*;
import java.lang.*;
import java.io.*;

class Fibonacci
{
	//初始前2项一般都为1
	public static final int FIBONACCI_1 = 1;
	public static final int FIBONACCI_2 = 1;
	
	public static void main (String[] args) throws java.lang.Exception
	{
		//查看效果
		for(int i = -2; i < 9; i++)
		{
			System.out.println("fibonacci @[" + i + "]=" + fibonacci_I(i));
		}
	}
	
	public static int fibonacci_I (int i)
	{
		//不大于第0项的没有实际意义，都置为0
		if (i < 1)
		{
			return 0;
		}
		//初始值分别是2号和1号
		int mth_result = FIBONACCI_2;
		int var1 = FIBONACCI_1;
		for (;i > 2; i--)
		{
			mth_result = mth_result + var1;
			var1 = mth_result - var1;
		}
		return mth_result;
	}
}
