2

我正在尝试创建一个无限的毕达哥拉斯值列表,但我遇到了一个问题。

pytrips = [(x, y, z) | z <- [1..], y <- [1..z], x <- [1..y],
           (x^2 + y^2) <- z^2, gcd x y == 1]

我的错误是这样写的:

"First argument in (n+k) pattern must be a variable"

我不太明白我为此提出了什么语法问题,因为该方法不需要传递任何参数。谁能帮我解决这个问题?

4

1 回答 1

7

您可能打算写==而不是<-

pytrips = [(x, y, z) | z <- [1..], y <- [1..z], x <- [1..y],
           x^2 + y^2 == z^2, gcd x y == 1]
于 2012-12-20T21:09:22.640 回答