File tree 2 files changed +47
-0
lines changed
2 files changed +47
-0
lines changed Original file line number Diff line number Diff line change
1
+ """ Fibonacci sequence. """
2
+
3
+
4
+ def fib (n ):
5
+ if n < 2 :
6
+ return 1
7
+ else :
8
+ return fib (n - 1 ) + fib (n - 2 )
9
+
10
+
11
+ def fib_iter (n ):
12
+ n_minus_1 = 1
13
+ n_minus_2 = 0
14
+ current = 1
15
+ for i in range (n ):
16
+ current = n_minus_1 + n_minus_2
17
+ n_minus_2 = n_minus_1
18
+ n_minus_1 = current
19
+
20
+ return current
21
+
22
+
23
+ if __name__ == '__main__' :
24
+ print ([fib (i ) for i in range (10 )])
25
+ print ([fib_iter (i ) for i in range (10 )])
26
+ print (fib_iter (1000 ))
27
+
Original file line number Diff line number Diff line change
1
+ """ Reverse function recursively and iteratively. """
2
+
3
+
4
+ def reverse (lst ):
5
+ if lst == []:
6
+ return lst
7
+ else :
8
+ return reverse (lst [1 :]) + [lst [0 ]]
9
+
10
+
11
+ def reverse_iter (lst ):
12
+ for i in range (len (lst ) // 2 ):
13
+ lst [i ], lst [- 1 * (i + 1 )] = lst [- 1 * (i + 1 )], lst [i ]
14
+ return lst
15
+
16
+
17
+ if __name__ == '__main__' :
18
+ print (reverse (range (10 )))
19
+ print (reverse_iter (range (10 )))
20
+
You can’t perform that action at this time.
0 commit comments