我有5位,因此有32种不同的组合(其中)。
从
开始00000
以
结尾11111
有没有办法快速列出所有可能性?我可以手工完成,但我担心我可能会错过一个。我猜一些聪明的家伙写了一些算法和/或建立了一个网站,这可以很容易地做到这一点。至少我希望如此。
非常感谢。
答案 0 :(得分:5)
这将把它们全部放在Linux上的命令行中。
echo {0..1}{0..1}{0..1}{0..1}{0..1}
答案 1 :(得分:3)
在Ruby中:
0b0000.upto(0b1111) {|n| puts n.to_s(2).rjust(4,"0")}
0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111
答案 2 :(得分:2)
写一个0到31之间整数的列,然后写一个第二列,其中每个整数的二进制等价并排。
这样你就增加了不错过组合的机会。
答案 3 :(得分:2)
从0到31计数,并以二进制形式输出数字。
这样的事情应该做:
public static String zeroPad(String str) {
return "00000".substring(str.length()) + str;
}
public static void main(String[] args) {
for (int i = 0; i < 32; i++)
System.out.printf("%s%n", zeroPad(Integer.toBinaryString(i)));
}
输出:
00000
00001
00010
00011
...
11110
11111
答案 4 :(得分:1)
for(int i = 0; i&lt; 31; i ++) cout&lt;&lt; ((i&amp; 16)&gt;&gt;&gt;&lt;&lt;&lt;&lt; ((i&amp; 8)&gt;&gt;&gt;&gt;&lt;&lt;&lt;&lt; ((i&amp; 4)&gt;&gt; 2) &LT;&LT; ((i&amp; 2)&gt;&gt;&gt;&gt;&lt;&lt;&lt; (i&amp; 1)&lt;&lt; ENDL;
答案 5 :(得分:0)
Unix的:
echo {0..1}{0..1}{0..1}{0..1} | xargs -n 1