# 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 == 0:
return 0
elif n == 1:
return 1
return fibonacci(n - 1) + fibonacci(n - 2)
function fib(n) { if (n < 2){ return n } return fib(n - 1) + fib (n - 2)}
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;
Each test case will contains a single integer n where n >=1.
fib=lambda x: x if x<=1 else fib(x-1) + fib(x-2)