0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597, 2584, 4181, 6765, 10946, 17711, 28657, 46368, 75025, 121393, 196418, 317811,
# Easy fibonacci exercise
# Method #1
def fibonacci(n):
# 1th: 0
# 2th: 1
# 3th: 1 ...
if n == 1:
return 0
elif n == 2:
return 1
else:
return fibonacci(n - 1) + fibonacci(n - 2)
# Method #2
def fibonacci2(n):
if n == 0: return 0
n1 = 1
n2 = 1
# (1, n - 2) because start by 1, 2, 3... not 0, 1, 1, 2, 3....
for i in range(1, n - 2):
n1 += n2
n2 = n1 - n2
return n1
print(fibonacci(13))
# return the nth element in the fibonacci sequence
def fibonacci(n):
if n <= 1:
return n
else:
return fibonacci(n-1) + fibonacci(n-2)
limit = int(input("Insert the number of the values of the series that you would see: "))
for num in range(1, limit+1):
print(fibonacci(num))
f(n) = f(n-1) + f(n-2)
f(6)
^
/
f(5) + f(4)
^
/ + /
f(4) + f(3) f(3) + f(2)
^ ^ ^ ^
/ / / /
f(3) + f(2) f(2) +f(1) f(2) + f(1) f(1) + f(0)
^ ^ ^ ^
/ / / /
f(2) + f(1) f(1) + f(0) f(1)+ f(0) f(1) + f(0)
^
/
f(1) + f(0)
//f(6) = 8 ==> f(1)*8 f(1) appears 8 times
double feb = (1/Math.pow(5,0.5)) * (Math.pow((1+Math.pow(5,0.5))/2,n)) - (1/Math.pow(5,0.5))* (Math.pow((1-Math.pow(5,0.5))/2,n));
f(1) == 1;