Es handelt sich um ein Beispiel wo es x Gefängnisse gibt. Zu erst wird jede Zelle aufgesperrt. Bei jedem "vorbei gehen" wird eine Zelle zu oder auf gesperrrt. Nach der jede 2(2,4,6,8,10..) , dann jede 3(3,6,9...) dann jede 4 bis zu x.
Wir haben in der schule diesen code aufgeschrieben
public static void main(String[] args) {
String haeftlinge = javax.swing.JOptionPane.showInputDialog("Geben Sie die Anzahl der Häftlinge ein:");
int zellen = Integer.parseInt(haeftlinge);
System.out.println("Zellen: "+zellen);
int n[] = new int[ zellen + 1 ];
int i, j;
for (i = 0; i < zellen; i++)
n = -1;
for (i = 0; i < zellen; i = i + 1)
for (j = 0; j < zellen + 1; j = j + (i + 1))
n[j] = n[j] * (-1);
for (i = 0; i < zellen; i++) {
if (i == 1)
i++;
if (n == 1)
System.out.println("Offene türen Sind: " + i);
Nun zu meiner Frage: uns allen is dieser Code unklar. Welche variable steht jetzt für was? Und wieso muss man n= -1 hinschreiben?
Vielen dank im voraus
gruß
Wir haben in der schule diesen code aufgeschrieben
public static void main(String[] args) {
String haeftlinge = javax.swing.JOptionPane.showInputDialog("Geben Sie die Anzahl der Häftlinge ein:");
int zellen = Integer.parseInt(haeftlinge);
System.out.println("Zellen: "+zellen);
int n[] = new int[ zellen + 1 ];
int i, j;
for (i = 0; i < zellen; i++)
n = -1;
for (i = 0; i < zellen; i = i + 1)
for (j = 0; j < zellen + 1; j = j + (i + 1))
n[j] = n[j] * (-1);
for (i = 0; i < zellen; i++) {
if (i == 1)
i++;
if (n == 1)
System.out.println("Offene türen Sind: " + i);
Nun zu meiner Frage: uns allen is dieser Code unklar. Welche variable steht jetzt für was? Und wieso muss man n= -1 hinschreiben?
Vielen dank im voraus
gruß