Haskell: Arbeiten mit unendlichen Listen |
05.12.2010, 18:24 | 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 |
|
|
Verwandte Themen
Die Beliebtesten » |
|
Die Größten » |
Die Neuesten » |
|