Я пытаюсь вспомнить алгоритм рекурсии Фибоначчи. Следующее:
public int fibonacci(int n) {
if(n == 0)
return 0;
else if(n == 1)
return 1;
else
return fibonacci(n - 1) + fibonacci(n - 2);
}
не, что я ищу, потому что он жадный. Это будет экспоненциально расти (просто посмотрите рекурсивную последовательность Fibonacci Java - чем больше начальный аргумент, тем более бесполезные вызовы будут сделаны).
Возможно, что-то похожее на "циклический сдвиг аргумента", где вызов предыдущего значения Фибоначчи будет извлекать значение, а не вычислять его снова.