我正在学习Clojure,我在一本Haskell书中找到了使用列表推导式解决直角三角形问题的方法,使问题得到了简洁的解决:
寻找直角三角形
在Clojure中是否存在如此优雅的列表推导解决方案?
寻找直角三角形
- 三边的长度都是整数。
- 每条边的长度小于或等于10。
- 三角形周长(三边长度之和)等于24。
ghci> let rightTriangles' = [ (a,b,c) | c <- [1..10], a <- [1..c], b <- [1..a],
a^2 + b^2 == c^2, a+b+c == 24]
ghci> rightTriangles'
[(6,8,10)]
在Clojure中是否存在如此优雅的列表推导解决方案?
:while
在列表单子里并没有特定对应的东西。不过在其他单子里会有对应。也许是分裂幺半群。 - J. Abrahamsonc
vc(inc c)
)。 - Matt Luongo