Buonasera lunedi ho un esame di programmazione..
il mio professore mi chiederà sicuramente l'algoritmo di fibonacci ricorsivo..
direi molto semplice da spiegare, dopodichè egli mi farà una domanda per chiederrmi lo stesso algoritmo con un approccio dinamico..
posto l'algoritmo qualcuno saprebbe spiegarmi un po la function..qual'è il motivo perchè la fa così??
non parlo del calcolo in se per sè ma della differenza tra un approccio dinamico e uno incrementale.
Cosa mi cambia e perchè??
Vi ringrazio per l'aiuto.
Inserisco anche il main perchè fa uso di un cast.
codice:
#include<stdio.h>
double fib_ric_PD(int n);
double fibogia[100];
void main() {
int n,i;
printf("inserire il valore di n \n");
scanf (“%d”,&n);
for(i=0;i<100;i++)
fibogia[i]=0.0;
printf(“%d -simo num Fib: %e \n”,n,fib_ric_PD(n));
}
//Function
double fib_ric_PD(int n)
{
if(n <= 1)
return (double) n;
if (fibogia[n] != 0)
return fibogia[n];
else {
fibogia[n]= fib_ric_PD(n-1) + fib_ric_PD(n-2);
return fibogia[n];
}
}