Originariamente inviato da andrea_NET-_DSL
sicuro che vada bene??
Io avrei fatto:
codice:
long int fattoriale(int n){
int i; long int res=1;
for(i=n;i>1;i--)
 res *=i;

return res;
}
apparte che io decremento il contatore ,mentre tu lo incrementi,secondo me il problema è che nella tua versione associ ripetitivamente a result il prodotto tra il numero di cui calcolare il fattoriale per l'"accumolo" createsi in result stesso....cioè non decrementi mai n e lo moltiplichi sempre cosi' com'è!


sbaglio??

ps se provio vogliamo farlo in "salita" LOL avrei fatto...
codice:
long int fattoriale(int n){
int i; long int res=1;
for(i=0;i<n:i++)
res *=i;

return res;
}
forse volevi scriverlo cosi'?
Sì hai ragione, l'ho fatto al volo senza neanche riguardarlo... ed ho scritto una grande cazzata!

Tra l'altro siccome i parte da zero, la prima volta mltiplica per zero e quindi rimarrà sempre zero!

!