一尘不染

打印二进制排列列表

algorithm

我想做的是打印n位二进制数的所有可能性。换句话说,使用4位数字:

0001
0010
0100
1000

..等等

老实说,我什至不知道从哪里开始(除了我认为我需要使用一个循环,可能还需要一个数组),所以任何朝着正确方向的指针都会受到赞赏。


阅读 228

收藏
2020-07-28

共1个答案

一尘不染

也许您可以使用递归算法:

public void printBin(String soFar, int iterations) {
    if(iterations == 0) {
        System.out.println(soFar);
    }
    else {
        printBin(soFar + "0", iterations - 1);
        printBin(soFar + "1", iterations - 1);
    }
}

您可以这样执行:

printBin("", 4);

这将为您提供所有可能的4位二进制数字。

希望这对您有所帮助!

2020-07-28