// Remarque: Ce code est assez élégant (1 ligne) mais n'est pas le
// plus performant (récursion oblige). Pour les petits nombres cependant,
// il est plus rapide qu'une boucle while (d'après mes testes, jusqu'à une
// valeur de 1000 environ)
private long Factoriel(int nb)
{
return nb > 1 ? nb * this.Factoriel(nb - 1) : nb;
}