- го числа Фібоначчі може бути обчислений в лінійний час з використанням наступного повторення:
def fib(n):
i, j = 1, 1
for k in {1...n-1}:
i, j = j, i+j
return i
- го числа Фібоначчі також може бути обчислена як . Однак це має проблеми з питаннями округлення навіть для порівняно невеликих . Ймовірно, є способи цього, але я б краще цього не робив.[ φ n / √н
Чи існує ефективний (логарифмічний у значенні або кращий) алгоритм для обчислення го числа Фібоначчі, який не покладається на арифметику з плаваючою комою? Припустимо, що цілі операції ( , , , ) можна виконувати в постійний час.n + - × /