1 2 3 4 5 6 7 8 9 10 11
-- hofstadter's sequence import Data.List hofstadter = 1 : figure 1 [2..] where figure n (x:xs) = n' : figure n' (delete n' xs) where n' = n + x hofstadterNth n = hofstadter !! (n-1) main = do print $ take 25 hofstadter print $ hofstadterNth 100
1 2
[1,3,7,12,18,26,35,45,56,69,83,98,114,131,150,170,191,213,236,260,285,312,340,369,399] 5764