• [^] # Re: Fibo

    Posté par . En réponse à la dépêche Sortie du Glorious Haskell Compiler 7.8. Évalué à 7.

    Effectivement, il n'y a pas de « cache des résultats » (mémoïsation dans les termes de l'art), parce que savoir si c'est une bonne idée d'en faire un pour une fonction donnée est indécidable. Cependant, la version liste infinie qui est donnée est mémoïsée par le simple fait de produire une structure de données entière:

    fibs :: [Int]
    fibs = 0:1:(zipWith (+) fibs (tail fibs))
    nthFib :: Int -> Int
    nthFib n = fibs !! n
    main :: IO ()
    main = do
     putStrLn "entrez la valeur de 1000"
     mille <- readLn
     print (nthFib mille)

    En plus, elle n'oblige pas à fixer 1000 à la compilation.