Krásný dobrý den přeju.
Snažim se si nějak nakrokovat jednoduchou metodu, jak ten program vlastně postupuje a například při Fibonacciho posloupnosti se do toho akorát zamotám. Takže máme tu něco takovýho:
static int fib(final int n) {
if (n < 0)
throw new IllegalArgumentException("n < 0");
if (n == 0) return 0;
if (n == 1) return 1;
return fib(n-1) + fib(n-2);
}
Dokázal by mi někdo naprosto polopaticky vysvětlit, co se v tý metodě děje? Představuju si to asi následovně: V returnu se zavolá znovu fib o 1 menší argument, pak se zavolá znovu fib o 2 menší argument, teď si ani nedokážu úplně jasně představit, co se stane, ale furt tam vidim snižování pozice, nikoli sčítání dvou předchozích čísel. Tak, kdo to rozčísne? :D