se fai una funzione per calcolare il fattoriale riduci ancora di piu il codice.

function(int n)
{
fatt=1;
for(i=1;i<=n;i++) // si puo partire anche da 2 per ottimizzare
{
fatt *= n;
}

return fatt;
}

non so se serve il return o se c'e' un istruzione corrispondente.

mi dici cosa serve il trace e come funziona?

grazie mille ciao