Exercice : La fonction avec sauvegarde des valeurs de fibo(i) calculées
Introduisons 2 paramètres dans la fonction. Un premier pour l'accès au tableau qui contiendra les valeurs déjà calculées, un second pour connaître les valeurs déjà calculées.
1
int fibo1(int n, int tab[], int *index){
2
...
3
}
int fibo1(int n, int tab[], int *index){ ... }
Il est évident que, d'après la définition de la suite, si le calcul de fn est fait, les valeurs fi pour i<n sont déjà évaluées.
Écrivez la nouvelle condition d'arrêt de la récursivité ainsi que la valeur retournée.
La condition d'arrêt est modifiée, car si un résultat est déjà connu, on arrête la récursion.
La clause de récursion se charge toujours de faire le calcul, mais enregistre également le résultat dans le tableau.