2016-04-15 6 views
-2

Ich muss diese Datei ändern, um die "Quadrat/2 'Prolog-Regel arbeiten in Haskell mit zwei Argumenten" A, B ". Beide Argumente sind Listen von Zahlen. Die beiden Liste sollte die gleiche Anzahl von Elementen.Es ist nur wahr, wenn alle Elemente B das Quadrat der Elemente von A und in der gleichen Reihenfolge sind.Der folgende Code ist der Basisfall für die Prolog-Regel.Prolog-Regel Squaring in Haskell

square ([], [ ]).

+2

Können wir sehen, was Sie mit der Haskell-Version ausprobiert haben? – Dair

+1

Nun, Sie müssen etwas ändern. Hast du tatsächlich eine Frage und musst wissen [fragen]? – Zeta

+0

Ich zähle Null Fragezeichen in diesem Beitrag. –

Antwort

1

kann es einfach geschrieben werden

isSquare [] [] = True 
isSquare (x:xs) (y:ys) = x*x==y && isSquare xs ys 

Vielleicht möchten Sie auch Längen hinzufügen, die gleich sind.

auch

geschrieben werden können
and $ zipWith (\x y -> x*x==y) 

oder vielleicht kürzeste

(==) . map (^2)