• [^] # 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é à 0.

    En fait, tu commences par calculer fib(999), puis pour calculer fib(999) tu calcules fib(998), etc, etc -> tu ne descends qu'un fois pour calculer chaque valeur de fib jusqu'à 1 et ensuite tout ce que tu calcules est déjà stocké dans la table de hachage => gain de temps là où normalement tu devrais calculer chaque valeur à chaque fois en remontant.


    Et justement, je n'ai pas vraiment compris l'intérêt. N'est-ce pas beaucoup de bruit pour pas grand chose ?


    let fibo n =
    ____let cache = Array.make (n+1) 1 in
    ____for i = 2 to n do
    ________cache.(i) <- cache.(i - 1) + cache.(i - 2);
    ____done;
    ____cache.(n)
    in

    print_int (fibo (read_int()));


    (vous pourriez m'expliquer comment on met du code indenté ? Avec ou sans blockquotes ça foire à la prévisualsation)