我已经学习了LYAH,第1章中的最后一个问题是找到a
,b
和c
(a,b,c)
形成一个直角三角形,以及他们的总和是24. a
,b
,c
都是Int
s。
所以我有下面的代码(本书不一样)。
Prelude> [(a,b,c)|c<-[1..10],b<-[1..10],a<-[1..10],a^2+b^2==c^2,a+b+c==24]
[(8,6,10),(6,8,10)]
我希望得到所有可能的组合,比如
[(8,6,10),(6,8,10),(8,10,6),(6,10,8),(10,6,8),(10,8,6)]
为什么只显示部分内容?我尝试了不同版本的ghci,但结果相同。感谢。
答案 0 :(得分:6)
你守护a^2 + b^2 == c^2
,但是对于(8, 10, 6)
,8^2 + 10^2 == 6^2
并非如此。因此,它们不包括在结果中。