我有一个任务要编写一个函数,该函数给出列表的幂集。
列表(1 2 3)的输出应该是这样的
1
2
3
1 2
1 3
2 3
1 2 3
我尝试了以下辅助函数
(defn print-powerset-helper [lst] (if(not(empty? lst)) (do (println(first lst)) (print-lst (rest lst)))))
这给了我
1
2
3
nil
这样的输出。
我还尝试了以下函数
(defn print-powerset [lst] (if (not (empty? lst)) (do (apply println lst (print-lst lst)))))
输出
1
2
3
(1 2 3)
nil
我想去掉括号,并且也不懂怎么打印输出的中间部分。1 2 1 3 2 3,这部分。
请任何帮助都将很好。谢谢!