Я про итеративный Т.Ф. Предлагал алоцировать список на все n значений. Я думаю достаточно 3-х элементов в списке
список в целом не обязателен, две переменные - current и previous. а для быстрого вычисления там всяких миллионных чисел Фибоначчи стоит использовать матричное возведение в степень, но это только если действительно нужны огромные числа или просто побаловаться хочется
это больше вопрос к Т.Ф. когда я смотрел его лекции, и он заговорил об оптимизицаии, внедряя список во всю длину искомого числа, у меня сразу вставл вопрос, зачем так оптимизировать? в академических целях скорей всего.
а.... разложение миллиона на множители. тогда можно кол-во операций сократить. вот для миллиона можно возвести в десятую степень и три раза получившуюся "десятую степень" умножить на себя, получается 10+3 операции возведения в степень