www.jammni.de

Logo - Kleiner Drache
Login
Username:

Passwort:

Daten merken
Auto-Login
Registrieren
 
Online
niemand
 
Forumsuche
Suche nach:

Logo - DracheHaskell-Forum

Xan

Gepostet:
13.07.2012 22:24

Listengenerator mit Variablenlistengröße  
Hallog,
ich habe hier einen Code zur Funktion geschrieben, die ersten n Mersenne -Zahlen in eine Liste zurückgibt. Diese Aufgabe muss man mit Listengenerator gelöst werden. Aber ich habe hier ein Problem mit x<-[0..x], da Hugs 0..x nicht akzeptieren will. Und ich weiß nicht wie man das verbessern kann...

mersenneZ :: Integer -> [Float]
mersenneZ x = [(2**x)-1 | x <- [0..x] ]
Zum Seitenanfang    
 
IKT

Gepostet:
14.07.2012 18:10

   
Ich hab grad keinen Compiler zur Hand, aber vielleicht tut es das:

mersenneZ :: Integer -> [Float]
mersenneZ x = [(2^y)-1 | y <- [0..x] ]


Bei dir steht 2 x ein \\\"*\\\" in der Berechnung, und du benutzt 2 mal die Variable x in unterschiedlichen Zusammenhängen.
Zum Seitenanfang    
 
Xan

Gepostet:
14.07.2012 18:47

   
Danke schön .Ich habe dieses Problem schon gelöst. Man soll x = [y | y <- [0..x] ] und dafür (2**x)-1 habe ich eine extra Hilfsfunktion geschrieben.
Zum Seitenanfang    
 
Xan

Gepostet:
14.07.2012 18:58

   
Dein Code funktioniert ganz gut, und sttat Float kann man auch Integer nehmen z.B. mersenneZ :: Integer -> [Integer]
Zum Seitenanfang