Вычисление чисел Фибоначчи: различия между версиями

Содержимое удалено Содержимое добавлено
м Откат правок 91.193.177.184 (обс.) к версии 194.28.4.11
Метка: откат
Добавлен фрагмент кода на языке Python
Строка 134:
</source>
 
То же на языке Python:
<source lang="python" line="1">
#возвращает n-е число Фибоначчи
def fib(n):
a = 1
b = 1
c = 1
rc = 0
d = 0
rd = 1
while n>0:
if n%2!=0: #Если степень нечетная
# Умножаем вектор R на матрицу A
tc = rc
rc = rc*a + rd*c
rd = tc*b + rd*d
#Умножаем матрицу A на саму себя
ta = a
tb = b
tc = c;
a = a*a + b*c
b = ta*b + b*d
c = c*ta + d*c
d = tc*tb+ d*d
n/=2 #Уменьшаем степень вдвое
return rc
</source>
{{Темы|Программирование|Математический анализ}}