Fibonacci Series
In [14]:
import time
In [1]:
def fibonacci(n):
return int(((1 + 5**0.5)**n - (1 - 5**0.5)**n)/(2**n * 5**0.5))
In [2]:
print(fibonacci(10))
In [17]:
start = time.time()
f1, f2 = 1, 1
# to get the first 10 elements in fibonacci series
for _ in range(10):
print(f1, end=' ')
f1, f2 = f2, f1+f2
end = time.time()
print('\nCode execution time : ', end - start)
Way 2¶
*** Use this method
In [4]:
# you may use list to store the values
fib, f1, f2 = [], 1, 1
# to get the first 10 elements in fibonacci series
for i in range(10):
fib.append(f1)
f1, f2 = f2, f1+f2
print(fib)
Way 3¶
In [5]:
def fibonacci(n):
fib = [1, 1]
for i in range(2, n):
fib.append(fib[-1] + fib[-2])
return fib
In [6]:
print(fibonacci(10))
Using Recursive function¶
In [7]:
def fibonacci(n):
if n<2:
return 1
else:
return fibonacci(n-1) + fibonacci(n-2)
In [8]:
# fibonacci should return (n+1)th element from fibonacci series
print(fibonacci(10))
Using yield generator¶
In [9]:
def fibonacci():
f1, f2 = 1, 1
while True:
yield f1
f1, f2 = f2, f1+f2
In [10]:
# fibonacci() should print until element less than condition
for element in fibonacci():
if element > 100:
break
print(element, end=' ')
In [11]:
fib = []
for element in fibonacci():
if element > 100:
break
fib.append(element)
print(fib)
In [12]:
for index, element in zip(range(10), fibonacci()):
print('{}th element : {}'.format(index+1, element))
Fibonacci Series
Reviewed by Ikram
on
7/15/2021 04:05:00 AM
Rating:
No comments: