Atado para simplificar la tarea tanto como sea posible, para poder aplicarla a mi algoritmo.Java: Generador de combinaciones de true y falso dando el número N;
Y aquí es el reto para los matemáticos y programadores:
Necesito crear un método en el Paso parámetro int n:
public void optionality_generator(int n){
//some kind of loops, or recursions...to make it workable
System.out.println("current combination: ...");
}
La salida debe mostrar todas las combinaciones posibles de los verdaderos y falsos de.
Aquí hay ejemplos donde N = 1; N = 2; N = 3; N = 4; N = 5 donde x = falso y 0 = verdadero; Tenga en cuenta que las líneas de ruptura vacías son solo para que usted reconozca más fácilmente los patrones. Con suerte, he incluido todas las combinaciones posibles):
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
Además, si usted ve la salida, aquí es el patrón me di cuenta, que todas las combinaciones son invertidas en medio (por ejemplo, primera combinación es 00000 última será XXXXX, el segundo X0000, uno antes del último será 0XXXX, etc.). Tal vez, este patrón ayudará a que todo el algoritmo sea más eficiente, no estoy seguro de esto. ¡Gracias de antemano!
Esta es la razón por todo el mundo debería aprender ensamblador primero! O al menos un poco de matemáticas y un complemento de dos. –