Einzelnen Beitrag anzeigen
Alt 20.10.10, 13:48   #15 (permalink)
Ook!
 
Registriert seit: 21.04.08
Ook! Leistung: Facit NTK
Likes: 0
Standard

Kleine, aber meiner Meinung nach, sehr schöne Lösung in Haskell:
Code:
series :: Int -> [[Int]]
series n = take (n+1) $ iterate (next) [1]
    where next = concatMap (\xs -> [length xs, xs !! 0]) . group

main :: IO ()
main = let (xs0, xs1) = (take 5 xs, length . last $ xs)
       in mapM_ (print) [show xs0, show xs1]
    where xs = series 30
Zitat:
"[[1],[1,1],[2,1],[1,2,1,1],[1,1,1,2,2,1]]"
"5808"
Gruß
Felix
Ook! ist offline   Mit Zitat antworten
 

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61