Bonjour à tous,
J'écris un binaire qui retourne un nombre de Fibonacci en fonction de l'indice qu'on lui passe. Pour cela, j'ai fait simple : j'utilise la récursivité. Voici le code :
Donc ça fonctionne, mais c'est pas super optimal : pour des indices variant de 1 à 40, c'est presque instantané, pour un indice de 45, ça prend 13 seconde, mais pour un indice de 100, c'est effroyablement long.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 int calcul_fibonacci(int fibonacci_number) { if (fibonacci_number == 0) { return 0; } else if (fibonacci_number == 1 || fibonacci_number == 2) { return 1; } else { int resultat = (calcul_fibonacci(fibonacci_number - 1)) + (calcul_fibonacci(fibonacci_number - 2)); return resultat; } }
Vous pensez que je peux corriger ça si je pars sur autre chose que sur une fonction récursive ?
D'avance merci'
Partager