• [^] # Re: Comment casser le mythe de rapidité de Fibonacci :-)

    Posté par . En réponse à la dépêche Erlang/OTP R11B supporte les architectures multiprocesseur. Évalué à 4.

    ARG !!!!!


    pourquoi tant de haine^Wtable de hashage.

    fibo, la bonne façon de le coder, c'est de ne pas calculer
    fib(n) mais de calculer fibAux n= ( fib (n-1), fib n )
    parce qu'à l'étape d'après, on a directement
    fibAux (n+1) = (fib n, fib (n-1)+fib n).

    En chameau, ça donne un truc du genre:

    let rec fibAux n =
    if n=1 then (1,1)
    else
    let (a,b)=fibAux (n-1) in (b,a+b);;

    let fib n=
    if n=0 then 1
    else
    let (a,b)=fibAux n in b;;