Для вычисления чисел Фибоначчи с помощью правила деления с остатком можно использовать следующий алгоритм: 14
- Задать начальные значения: fibPrev = 0, fib = 1. 14
- Создать кэшированное значение для fibPrev и fib. 14
- Для curr в диапазоне от 1 до n выполнить следующие шаги: 14
- fibOld = fib; 14
- fib = (fib + fibPrev) % m; 14
- fibPrev = fibOld; 14
- Если fibPrev == 0 и fib == 1, удалить из кэша предыдущее значение и выйти из цикла. 14 В противном случае добавить fib в кэшированное значение. 14
- Найти смещение n % len(cached) и вывести полученное значение. 14
Пример реализации на Python можно найти на сайте ru.stackoverflow.com. 4