Związałem, aby uprościć zadanie tak bardzo, jak to możliwe, więc mogłem zastosować je do mojego algorytmu.Java: Generator kombinacji true's i false za pomocą liczby N;
A oto wyzwanie dla matematyków i programistów:
muszę utworzyć metodę gdzie mogę przekazać parametr int N:
public void optionality_generator(int n){
//some kind of loops, or recursions...to make it workable
System.out.println("current combination: ...");
}
Wyjście powinno pokazać wszystkie możliwe kombinacje prawdziwych tych i fałszywych tych.
Oto przykłady gdzie N = 1; N = 2; N = 3; N = 4; N = 5 gdzie x = fałsz i 0 = prawda; Pamiętaj, że puste linie przerwania są po to, abyś mógł łatwiej rozpoznać wzorce. Mamy nadzieję, że zawarte wszystkie możliwe kombinacje):
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
Również Jeśli widzisz wyjścia, oto wzór Poznałem, że wszystkie kombinacje są odwrócone o połowę (np pierwsza kombinacja jest 00000 ostatnia będzie XXXXX, drugi X0000, jeden przed ostatnim będzie 0XXXX itd ..). Być może ten wzór pomoże uczynić cały algorytm bardziej wydajnym, nie jestem tego pewien. Z góry dziękuję!
Dlatego każdy powinien uczyć się montaż pierwszy! A przynajmniej trochę matematyki i uzupełnienia dwójki. –