我有一个7x7板,我想从中选择一些元素。我要选择的元素被标记为o,其他元素被标记为x。
这是董事会:
xoxoxox
ooooooo
xooooox
ooooooo
xooooox
ooooooo
xoxoxox我使用从1开始的索引。(1,1)点是左上角。
我必须选择o-elements的当前列表理解如下:
[(r,c) | r<-[1..7], c<-[1..7],
(not (even r) && not (even c) && r/=1 && r/=7 && c/=1 && c/=7)
|| even r
|| even c]我想知道我是否能把这个清单理解得更简单。上面的代码在Haskell中,但是,伪代码或Python列表理解对我来说也很好。
发布于 2016-12-17 17:33:22
由于7是素数,下面的伪代码可以工作,尽管它涉及到一些“拐角处的思考”。
[(r,c) | r<-[1..7], c<-[1..7], r * c not in [1, 3, 5, 7, 21, 35, 49]]一个更简单的方法是
(r /= 1 && r /= 7 && c /= 1 && c /= 7) || even r || even chttps://codereview.stackexchange.com/questions/150145
复制相似问题