0

我正在开发一个元组函数,它接受集合和参数 n。该参数指定生成的向量应具有的索引数。然后,该函数置换集合中元素的所有可能的 n 元组。

到目前为止,我一直在尝试组合来自 tuples.core 和 math.combinatoris 的函数,即元组和排列。

  (defn Tuples [& args]
        (combo/permutations (tuple args))) 

例子)

输入:(0,1) n=3

输出:[[0,0,0] [0,0,1] [0,1,0] [1,0,0] [0,1,1] [1,1,0] [1,0, 1] [1,1,1]]

4

1 回答 1

1

您正在寻找的是clojure.math.combinatorics/selections

(require '[clojure.math.combinatorics :as c])

(c/selections [0 1] 3)
;=> ((0 0 0) (0 0 1) (0 1 0) (0 1 1) (1 0 0) (1 0 1) (1 1 0) (1 1 1))
于 2013-11-13T20:39:21.307 回答