• Guten Start ins Wintersemester 2024/2025

EA6

Ich kann schon folgendes anbieten:
1a) 22
1b) 8
1c) 39

Bei 1c habe ich 41. Der Rest ist gleich.

Hier mein Quellcode:

Code:
public class a {
 
    static int zaehlen = 0;
 
    public static void main(String args[]) {
        System.out.println(aa(6,3));
    }
 
    static int aa(int x, int y) {
        if (x <= 0 || y < 0) {
            return x - y + 2;
        }
        if (x % 2 == 0) {
            return aa(x / 2, y) + aa(x, y - 1);
        }
        return aa(x - 1, y - 2);
    }
 
}
 
Das mit 41 kann ich bestätigen - witzigerweise hatte ich auch vorher 39, hab aber bei a(0,-2) einmal 4 (=richtig) und einmal 2 (=falscher Wert) stehen gehabt.

Also bei mir kommt auch 41 raus.
 
Habt ihr bei den anderen Sachen schon was?

bei Aufgabe 2 hab ich

a) 11
b) 9
c)
in-order: 9+3*5-4+7*2/8*4-2+4*5
pre-order: +9+-*354*+*7/2-*84245
post-order: 935*4-7284*2-/*4+5*++
level-order: +9+-**4+535*47/2-*284

(hoff ich hab mich da jetzt nicht arg vertippt)

3a) 2,225

so, und weiter bin ich noch nicht, aber das sollte alles heute noch was werden - wenn der Regen hier in Berlin mich schon vom joggen abhält gibts im Hotel ja doch nichts besseres zu tun als lernen
 
3b): 1, 12, 1, 1, 14, 1

die meisten Methoden der Aufgabe 4 hab ich schon, mir ist nur das mit den statischen Methoden nicht wirklich klar. Soll ich dort das Werte-Array zusammenbauen, eine Kettenbruch-Instanz erzeugen und dann den Wert berechnen.. Da blick ich noch nicht ganz durch. Und falls es in der Newsgroup Hinweise gibt seh ich sie leider nicht. Mein Newsgroup-Reader hat Schwierigkeiten mit dem Hotel-WLAN ...
 
FRAGE: was spricht dagegen die Größe einer Liste (oder eines Stapels) in einer Variable zu speichern und dort mitzuverfolgen. Wenn ich dann die Größe wissen möchte kann ich ja dann einfach "nachschauen" und muss nicht immer alle Element durchlaufen und nachzählen. Welche Nachteile hat so eine Vorgehensweise? Irgendwelche Meinungen?
 
3b): 1, 12, 1, 1, 14, 1

die meisten Methoden der Aufgabe 4 hab ich schon, mir ist nur das mit den statischen Methoden nicht wirklich klar. Soll ich dort das Werte-Array zusammenbauen, eine Kettenbruch-Instanz erzeugen und dann den Wert berechnen.. Da blick ich noch nicht ganz durch. Und falls es in der Newsgroup Hinweise gibt seh ich sie leider nicht. Mein Newsgroup-Reader hat Schwierigkeiten mit dem Hotel-WLAN ...

Also ich habe das so gelöst. Hat auch richtige Werte zurückgegeben.
 
Hab ich dann auch noch gemacht an dem Abend und noch alles abgegeben. Denk das wird schon so passen. Aber danke auch nochmal für die Bestätigung!
 
ich bräuchte mal Hilfe bei Aufgabe 5, also beim Stapel und zwar habe ich bis jetzt alles sauber hinbekommen außer die MEthode entferneOberstesh.

Wie habt ihr das gelöst, wenn man auch noch das oberste zurückgeben und entfernen muss?
 
naja, ich hab im Grunde eine verkettete Liste gemacht bei der das oberste auch das erste Element ist. Dann hab ich mir das oberste zurückliefern lassen, den wert für das return gespeichert und dann das element entfernt. Wenn du eine genauere Beschreibung brauchst, dann schreib nochmal!
 
Dr Franke Ghostwriter
Bei 1c habe ich 41. Der Rest ist gleich.

Hier mein Quellcode:

Code:
public class a {
 
    static int zaehlen = 0;
 
    public static void main(String args[]) {
        System.out.println(aa(6,3));
    }
 
    static int aa(int x, int y) {
        if (x <= 0 || y < 0) {
            return x - y + 2;
        }
        if (x % 2 == 0) {
            return aa(x / 2, y) + aa(x, y - 1);
        }
        return aa(x - 1, y - 2);
    }
 
}

Allerdings müsste die Variable "zaehlen" innerhalb der Methode "aa" auch gezählt werden, z.B mit zaehlen++😉
Es kommen dann 22 Aufrufe raus
 
Oben