Mam dany program obliczający liczby Fibonacciego. Ale nie rozumie dlaczego tablica jest powiekszona o 1 (new int [n+1]), oraz dlaczego tab[0] jest puste ? I dlaczego przy zwracaniu znowu tablica jest zmniejszana o -1.
public class ASID_Lab3Zad3 {
public static int Fibo(int n) {
int tab[] = new int[n + 1];
tab[1] = 1;
tab[2] = 1;
for (int i = 3; i < tab.length; i++) {
tab[i] = tab[i - 1] + tab[i - 2];
}
return tab[tab.length - 1];
}
public static void main(String[] args) {
final int n = 3;
System.out.println(Fibo(n));
}
}