We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
2 parents 5dad709 + 496b002 commit 54ace3dCopy full SHA for 54ace3d
Fibonacci Sequence/fast-fibonacci.py
@@ -0,0 +1,41 @@
1
+def fib(n):
2
+ F = [[1, 1],
3
+ [1, 0]]
4
+ if (n == 0):
5
+ return 0
6
+ power(F, n - 1)
7
+
8
+ return F[0][0]
9
10
+def multiply(F, M):
11
12
+ x = (F[0][0] * M[0][0] +
13
+ F[0][1] * M[1][0])
14
+ y = (F[0][0] * M[0][1] +
15
+ F[0][1] * M[1][1])
16
+ z = (F[1][0] * M[0][0] +
17
+ F[1][1] * M[1][0])
18
+ w = (F[1][0] * M[0][1] +
19
+ F[1][1] * M[1][1])
20
21
+ F[0][0] = x
22
+ F[0][1] = y
23
+ F[1][0] = z
24
+ F[1][1] = w
25
26
+def power(F, n):
27
28
+ if( n == 0 or n == 1):
29
+ return;
30
+ M = [[1, 1],
31
+ [1, 0]];
32
33
+ power(F, n // 2)
34
+ multiply(F, F)
35
36
+ if (n % 2 != 0):
37
+ multiply(F, M)
38
39
40
+n = 11
41
+print(fib(n))
0 commit comments