28 lines
895 B
Python
28 lines
895 B
Python
def fibonacci(n):
|
|
if n <= 0:
|
|
return "Entrée non valide. Le nombre doit être positif."
|
|
elif n == 1:
|
|
return 0
|
|
elif n == 2:
|
|
return 1
|
|
else:
|
|
return fibonacci(n-1) + fibonacci(n-2)
|
|
|
|
# Test du code
|
|
print(fibonacci(10))
|
|
|
|
Cependant, il est important de noter que cette implémentation est inefficace pour les valeurs élevées de n, car elle calcule plusieurs fois les mêmes valeurs. Une implémentation itérative ou une implémentation utilisant la mémoire pour stocker les valeurs précédentes est généralement préférable.
|
|
|
|
def fibonacci(n, memo = {}):
|
|
if n <= 0:
|
|
return "Entrée non valide. Le nombre doit être positif."
|
|
elif n == 1:
|
|
return 0
|
|
elif n == 2:
|
|
return 1
|
|
elif n not in memo:
|
|
memo[n] = fibonacci(n-1, memo) + fibonacci(n-2, memo)
|
|
return memo[n]
|
|
|
|
# Test du code
|
|
print(fibonacci(10)) |