2016-04-15 10 views
-2

2つの引数 "A、B"を取って "square/2" Prologルールをhaskellで動作させるには、このファイルを修正する必要があります。すべての要素BがAから同じ順序の要素の2乗である場合にのみ真であり、以下のコードはProlog規則の基本ケースですHaskellのProlog Rule Squaring

square([ ])、それは単に

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

書き込むことができる。

+2

あなたはHaskellのバージョンで試してみました私たちが見ることができますか? – Dair

+1

さて、あなたは何かを変更する必要があります。あなたは実際に質問があり、[尋ねる]ことを知る必要がありますか? – Zeta

+0

私はこのポストでゼロの疑問符を数えます。 –

答えて

1

おそらく長さを同じにすることもできます。

and $ zipWith (\x y -> x*x==y) 

または

を書き込むことができ、おそらく最短

(==) . map (^2)