Skip to content

Commit

Permalink
Merge pull request TheAlgorithms#75 from alaouimehdi1995/master
Browse files Browse the repository at this point in the history
Fixing some terms number issue, and improving result for first terms (0 and 1)
  • Loading branch information
dynamitechetan authored Apr 13, 2017
2 parents 7814b28 + ce8b025 commit e268bf1
Showing 1 changed file with 9 additions and 10 deletions.
19 changes: 9 additions & 10 deletions dynamic_programming/fibonacci.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,25 +6,24 @@
class Fibonacci:

def __init__(self, N=None):
self.fib_array = []
if N:
N = int(N)
self.fib_array = [0] * (N + 1)
self.fib_array[0] = 0
self.fib_array[1] = 1
self.fib_array.append(0)
self.fib_array.append(1)
for i in range(2, N + 1):
self.fib_array[i] = self.fib_array[
i - 1] + self.fib_array[i - 2]
else:
self.fib_array = [None] * (N + 1)
self.fib_array.append(self.fib_array[i - 1] + self.fib_array[i - 2])
elif N == 0:
self.fib_array.append(0)

def get(self, sequence_no=None):
if sequence_no:
if sequence_no != None:
if sequence_no < len(self.fib_array):
return print(self.fib_array[:sequence_no])
return print(self.fib_array[:sequence_no + 1])
else:
print("Out of bound.")
else:
print("Please specify the a value")
print("Please specify a value")


if __name__ == '__main__':
Expand Down

0 comments on commit e268bf1

Please sign in to comment.