Reprise du message précédent :
Cest un peu bizarre cette histoire du cond, c'est quand même plus général et plus lisible que le if.
Trace au debugger les deux fonctions pour voir la différence. Ta fonction reconstruit le calcul du factoriel alors que la mienne restitue directement le résultat lorsque x est nul, ce qui fait un important gain de temps en sortie de récursion.