0和1的数组组合

fra*_*rex 1 c algorithm

用0和1组合填充数组的好算法是什么.例如,如果我有三列,则组合将是:(1 1 1)(0 1 1)(1 0 1)(0 0 1)(1 1 0)(0 1 0)(1 0 0)(0 0 0)它总共有8行(我希望我就在这里).那么如何提前确定所需的行数(取决于N个列数),然后如何以编程方式填充数组?任何编程语言都很好(我因为熟悉而标记了C和lisp)这是所需的算法.谢谢

cob*_*bal 11

从基数2的0开始计数

0 = 000
1 = 001
2 = 010
...
7 = 111
Run Code Online (Sandbox Code Playgroud)


Oli*_*rth 5

组合的数量仅为N(或1 << NC)的幂的2 .这些值只是数字0到N-1的二进制表示.