\section{Cedrics Codierwettstreit in Heft 1/2009} Hallo VD--Redaktion, ich habe mich sehr über den Aufruf zum Wettstreit in der letzten VD gefreut. Samuel Falvo spricht im Interview auch über Haskell. Grund genug für mich, dass ich mir eine Lösung in Haskell überlegt habe, die ich Euch hiermit vorstellen möchte: \lstset{language=haskell, basicstyle=\ttfamily\footnotesize, keywords={module,where,import}, showstringspaces=false} \begin{lstlisting} module Main where import Data.List removeDuplicates = Data.List.nub unique l = removeDuplicates l == l gaps [x] = [] gaps (x0:(x1:xs)) = (x1-x0) : gaps (x1:xs) largest = 10000 numbers = filter (unique . show) [1..largest] main = do putStr "Here are the numbers: "; print numbers; putStr "The largets gap is "; print (maximum (gaps numbers)); putStr "Total number of numbers displayed is "; print (length numbers) \end{lstlisting} Urteilt selbst über die Kürze und Klarheit dieser Lösung :-) Es grüßt Euch, Johannes Brooks \hspace*{\fill}(uho)