Gegeben ist ein String aus Ziffern. Gib alle zusammenhängenden Teilstrings der Länge n in diesem String in der Reihenfolge aus, in der sie vorkommen.
Zum Beispiel hat der String "49142" die folgenden dreistelligen Serien:
Und die folgenden vierstelligen Serien:
Und wenn du von einem fünfstelligen String eine sechsstellige Serie verlangst, dann hast du es nicht anders verdient.
Beachte, dass diese Serien in der Eingabe nur benachbarte Positionen einnehmen müssen; die Ziffern müssen nicht aufeinanderfolgende Zahlenwerte sein.
Um diese Übung abzuschließen, musst du die Funktion slices implementieren,
die einen Text nimmt und die Teilfolgen von Ziffern einer bestimmten Länge
zurückgibt:
Wenn du diese Übung zum ersten Mal löst, empfehlen wir dir, dich an die vorgegebene Signatur zu halten:
slices :: Int -> String -> [[Int]]
Später kann es eine gute Idee sein, dieses Problem noch einmal aufzugreifen und mit anderen Datentypen und Bibliotheken zu spielen:
ByteString, aus dem Paket bytestring.Sequence, aus dem Paket containers.Text, aus dem Paket text.Vector, aus dem Paket vector.Die Testsuite wurde absichtlich so entworfen, dass sie fast jede sinnvolle Typsignatur akzeptiert. Deshalb ermutigen wir dich, die zu finden, die du für die beste hältst.
Melde dich bei Exercism an, um Haskell mit 107 Übungen und echtem menschlichen Mentoring zu lernen und zu meistern, alles kostenlos.