Jest kilka podobnych pytań na stronie, które pomogły, ale nie jestem w stanie całkowicie rozwiązać problemu, więc mam nadzieję, że to nie będzie powtarzalne.Permutacja tablicy, z powtórzeniami, w Javie
Jest to zadanie domowe, w którym masz zestaw tablic znaków [A, B, C] i musisz używać rekursji, aby uzyskać wszystkie permutacje (z powtórzeniami). Kod mam jakby to robi:
char[] c = {'A', 'B' , 'C'};
public void printAll(char[] c, int n, int k) {
if (k == n) {
System.out.print(c);
return;
}
else {
for (int j = 0; j<n; j++) {
for (int m = 0; m<n; m++) {
System.out.print(c[k]);
System.out.print(c[j]);
System.out.print(c[m] + "\r\n");
}
}
}
printAll(c, n, k+1);
}
Jednak parametr n powinien określić długość wyjścia, więc gdy ta funkcja wypisuje wszystkie permutacje długości 3, nie można zrobić je o długości 2. I próbowałem wszystkiego, co przychodzi mi do głowy, i przeszukałem wyniki wyszukiwania Google, i jestem pogrążony we własnej osobie, że nie jestem w stanie rozwiązać problemu, który wydaje się dość prosty.
Co oznacza "z powtarzaniem" oznaczają tutaj? – seh
Oznacza to, że po użyciu postaci można ją ponownie użyć. Liczba możliwych wyjść to 3^3, a nie 3 !. – user1788424