Bonsoir, j'ai écrit une fonction récursive qui calcule les n termes de la suite de fibonacci , elle marche mais pour des valeurs supérieures à 40 le calcul prend énormément de temps voir trop , voici mon code :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
Function fibonacci(ByVal n As Long) As Long
Dim X As Long
Dim Y As Long
If n = 0 Then
    fibonacci = 0
ElseIf n = 1 Then
    fibonacci = 1
Else
    X = fibonacci(n - 2)
    Y = fibonacci(n - 1)
    fibonacci = X + Y
End If
End Function
est ce que ce code peut être optimisé ou c'est juste la suite qui est trop gourmande ?

merci bien .