是否有一种算法可以引导给定数量的三值逻辑值的所有可能组合?三值逻辑值的所有可能组合
例如,F(2)
应该返回这个列表:
t t
t u
t f
u t
u u
u f
f t
f u
f f
功能看起来像这样(在Haskell):
data Tril = FALSE | NULL | TRUE
all :: Int -> [[Tril]]
all amount = ???
all1 :: [Tril]
all1 = join (all 1)
all2 :: [(Tril, Tril)]
all2 = map (\[f, s] -> (f, s)) (all 2)
all3 :: [(Tril, Tril, Tril)]
all3 = map (\[f, s, t] -> (f, s, t)) (all 3)
感谢您的详细回答! – 2015-03-03 18:31:52