Hallo,
ich habe z.B 2 Zahlen und ein 4*4 Array und möchte die Anzahl der Anordnungsmöglichkeiten der Zahlen im Array finden. Das müssten dann 16 * 15 = 240
verschiedene Anordungen sein, ich bekomme aber als Anzahl 256 zurück. Kann wer einen Tipp geben woran das liegt?
Danke im Vorraus.
ich habe z.B 2 Zahlen und ein 4*4 Array und möchte die Anzahl der Anordnungsmöglichkeiten der Zahlen im Array finden. Das müssten dann 16 * 15 = 240
verschiedene Anordungen sein, ich bekomme aber als Anzahl 256 zurück. Kann wer einen Tipp geben woran das liegt?
Java:
static class Test {
public Test() {
int anzahl = anordnen(feld, zahlen.length - 1);
System.out.println(anzahl); // 256
}
int zahlen[] = {1, 2};
int[][] feld = {{0, 0, 0, 0},
{0, 0, 0, 0},
{0, 0, 0, 0},
{0, 0, 0, 0}};
int anzahl = 0;
int[][] kopiereFeld(int[][] feld) {
int[][] tmp = new int[feld.length][feld.length];
for(int i = 0; i < feld.length; i++) {
tmp[i] = feld[i].clone();
}
return tmp;
}
int anordnen(int feld[][], int n) {
if(n == -1) return anzahl;
for(int i = 0; i < feld.length; i++) {
for(int j = 0; j < feld.length; j++) {
int z = zahlen[n];
int kopie[][] = kopiereFeld(feld);
if(kopie[i][j] == 0) {
kopie[i][j] = z;
anordnen(kopie, n - 1);
anzahl++;
}
}
}
return anzahl;
}
}