package EAA_Z4;

public class Rucksack {

static int masse[] = {150,111,252,173,350};

static int wert[] = {2,1,3,2,3};

static int max = 450;

static int optimum = 0;

static int aufrufe = 0;

static boolean feld[] = new boolean[masse.length];

public static void main(String args[ ] ) {

weg(0, 0, 0);

System.out.println("Aufrufe:"+aufrufe);

}

static void weg(int n, int sum_masse, int sum_wert) {

if (sum_masse > max) return;

if (n == feld.length) {

if (sum_wert > optimum) {

optimum = sum_wert;

ausgabe(sum_masse, sum_wert);

}

} else {

aufrufe++;

feld[n] = false;

weg(n + 1, sum_masse, sum_wert);

feld[n] = true;

weg(n + 1, sum_masse + masse[n], sum_wert + wert[n]);

}

}

static void ausgabe(int sum_masse, int sum_wert) {

String text = "";

for (int i = 0; i feld.length; i++)

if ( feld[i] ) text += masse[i] + " ";

System.out.println("{" + text + "} Masse: " + sum_masse + "Wert: " + sum_wert);

}

}


Kostenlose Homepage erstellt mit Web-Gear


Kostenlose Homepage erstellt mit Web-Gear