• [^] # Re: Hum ...

    Posté par . En réponse au journal Votre langage idéal ?. Évalué à 5.

    Bah oui la version classique:
    fn fact(n)
    int accu = 1;
    for (int i = 2; i <= n; i++) {
    accu = accu * i;
    }
    return accu;

    Pas besoin de la fonction intermédiaire..

    Et puis j'aurais du parler de Fibonacci: http://www.cs.northwestern.edu/academics/courses/110/html/fib_rec.html

    Par ailleurs, je remarque que let fac n = product [1..n] est aussi un code fonctionnel pur, et plus lisible que les deux versions que tu proposes.

    Mais pas forcément aussi performant: il faut un compilateur assez compliqué je pense pour optimiser ça..