java solution
public static int fib(int n) {
if(n == 0) return 0;
int numN1 = 1, numN2 = 0, sum; //numN1 represents fib(n-1), numN2 represents fib(n-2)
//at the end, we are adding values starting from 0, 1
//fib(2) = fib(1) + fib(0) = 1 + 0 = 1
//fib(3) = fib(2) + fib(1) = 1 + 1 = 2;
//fib(4) = fib(3) + fib(2) = 2 + 1 = 3;
//fib(5) = fib(4) + fib(3) = 3 + 2 = 5;
for(int index = 2; index <= n; index++) {
sum = numN1 + numN2;
numN2 = numN1;
numN1 = sum;
}
return numN1;
}