我正在尝试生成一个包含答案的列表:
[200,375,425]
为此,我在Haskell编程:
p = [ [a, b, c] | b <- [1..1000], a <- [1..b], let c = 1000 - b - a, a^2 + b^2 == c^2 && b<c]
这会生成
[[200,375,425]]
如何更改我的解决方案以生成第一个输出(而不是我现在的输出)?
答案 0 :(得分:3)
head $ [ [a, b, c] | b <- [1..1000], a <- [1..b], let c = 1000 - b - a, a^2 + b^2 == c^2 && b<c]
答案 1 :(得分:3)
看看你的输出。它生成了一个列表,其第一个结果是您想要的结果。有一个函数可以获取一个列表并返回第一个元素 - head
。在现有代码的输出上调用head
,您将获得所需的结果。