Haskell: Arbeiten mit unendlichen Listen

Neue Frage »

Auf diesen Beitrag antworten »
Ullus Parvus Haskell: Arbeiten mit unendlichen Listen

Hi,

ich habe zwei Funktionen geschrieben, die mir 2 Arten von unendlichen Listen erzeugen.
Zum einen

fromN :: Integer -> [Integer]
fromN n = [n..]

und

fromNM :: Integer -> Integer -> [Integer]
fromNM n m = [n, m..]

Da hört's dann mit meinem Können aber auch schon auf.
Ich soll jetzt

1. eine Funktion summ :: [Integer] -> [Integer] schreiben,
die für eine unendliche Liste die Liste der Summen benachbarter Zahlen als unendliche Liste zurückgibt.

Lösungsansatz:
summ :: [Integer] -> [Integer]
summ [ ] = 0
summ (x:xs) = (x+xs) : (summ xs)

funktioniert nicht.

2. einen Wert oneZero :: [Interger] definieren, welcher die Liste repräsentiert, die mit eins anfängt und dann undendlich viele Nullen enthält.

oneZero :: [Integer]
oneZero n = [10..]

funktioniert auch nicht.

3. eine Funktion dropDivN :: Int -> [Integer] -> [Integer] schreiben, welche aus einer undendlichen Liste von Zahlen alle entfernt, die durch die übergebene Zahl n teilbar sind.

4. die Funktion dropDivN verwenden, um nach dem Prinzip des "Sieb des Eratosthenes" den Wert primes :: [Integer] zu definieren, der die undendliche Liste aller Primzahlen darstellt.

Ich sitze bestimmt schon 2 Stunden an dem Kram, ohne auch nur das Gefühl zu haben, weiterzukommen.
Wäre schön, wenn mir jemand hilft.

Danke.

Liebe Grüße
 
 
Neue Frage »
Antworten »


Verwandte Themen

Die Beliebtesten »
Die Größten »
Die Neuesten »