我尽可能简化任务,所以我可以将它应用到我的算法中。
这是数学家和程序员面临的挑战:
我需要创建一个传递参数 int n 的方法:
public void optionality_generator(int n){
//some kind of loops, or recursions...to make it workable
System.out.println("current combination: ...");
}
输出应显示真假的所有可能组合。
这里是 N=1 的例子;N=2;N=3;N=4;N=5,其中 x=false,0=true;请注意,空折线只是为了让您更容易识别模式。希望我包括了所有可能的组合):
Combination of 1:
0
x
Combination of 2:
00
x0
0x
xx
Combination of 3:
000
X00
0X0
00X
XX0
0XX
XXX
Combination of 4:
0000
X000
0X00
00X0
000X
XX00
X0X0
X00X
0XX0
0X0X
00XX
XXX0
XX0X
X0XX
0XXX
XXXX
Combination of 5:
00000
X0000
0X000
00X00
000X0
0000X
XX000
X0X00
X00X0
X000X
X0X00
X00X0
X000X
0XX00
0X0X0
0X00X
00XX0
00X0X
000XX
XXX00
XX0X0
XX00X
X0XX0
X0X0X
X00XX
0XXX0
0XX0X
00XXX
XXXX0
XXX0X
XX0XX
X0XXX
0XXXX
XXXXX
另外,如果您看到输出,这是我识别的模式,所有组合都反转了一半(例如,第一个组合是 00000,最后一个是 XXXXX,第二个是 X0000,最后一个之前的一个是 0XXXX 等等。) . 也许,这种模式将有助于使整个算法更高效,对此不确定。先感谢您!