Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
eine ganz dumme Frage wenn ich so etwas schreiben will:
Es werden mindestens so viele Gewürze g angeschafft, wie es vegane Grundgerichte v gibt, aus Kostengründen aber maximal 123 verschiedene Gewürze (1 ≤ v ≤ g ≤ 123).
Jedes Gericht soll mit mindestens einem Gewürz abgeschmeckt werden.
Java:
public static long essen(int v, int g)
muss ich es dann mit einer for schleife schreiben?
wenn es hierum geht, das ist doch einfach nur die Bedingung einer IF-Abfrage!
Die kannst Du dann um den Aufruf der Methode 'essen' legen, um nur dann in die Methode zu kommen, wenn die Bedingung erfüllt ist!
Das Küchenpersonal der Mensa hat ein Problem: In einer Umfrage haben sich die Studierenden über das angeblich fade Essen beschwert und zusätzlich gefordert, dass jedes Gericht auch vegan angeboten werden muss. Hier nun der Plan des Studentenwerks:
• Es werden mindestens so viele Gewürze g angeschafft, wie es vegane Grundgerichte v gibt, aus Kostengründen aber maximal 123 verschiedene Gewürze (1 ≤ v ≤ g ≤ 123).
• Jedes Gericht soll mit mindestens einem Gewürz abgeschmeckt werden.
• Jedes Gewürz soll für genau ein Gericht verwendet werden.
• Alle veganen Grundgerichte schmecken ungewürzt gleich und sehen auch identisch aus. • Bei nicht-veganen Gerichten wird einfach zusätzlich etwas Hackfleisch reingekippt.
Das sind so zu sagen die Basisfälle und ja das mit der if Abfrage hab ich verstanden dankeschön und die anderen drei muss ich dann genau so machen ?
Außerdem ist dein Ausdruck nicht korrekt. Laut obiger Definition ergibt sich v ≤ g ≤ 123 v = Anzahl vegane Gerichte; g = Anzahl Gewürze.
Übrig bleiben Bedingungen. ( if .. )
@Fabian04088, hat der Titel irgendwas mit dem Thema zu tun? Bisher seh ich da keinen Zusammenhang zu "Memoization", aber ich will es auch nicht einfach so anpassen, wenn du dir irgendwas dabei gedacht hast.
ich wollte jetzt nicht die ganze Aufgabenstellung rein schreiben aber anscheinend ist es leichter es so zu verstehen
Das Küchenpersonal der Mensa hat ein Problem: In einer Umfrage haben sich die Studierenden über das angeblich fade Essen beschwert und zusätzlich gefordert, dass jedes Gericht auch vegan angeboten werden muss. Hier nun der Plan des Studentenwerks:
• Es werden mindestens so viele Gewürze g angeschafft, wie es vegane Grundgerichte v gibt, aus Kostengründen aber maximal 123 verschiedene Gewürze (1 ≤ v ≤ g ≤ 123).
• Jedes Gericht soll mit mindestens einem Gewürz abgeschmeckt werden.
• Jedes Gewürz soll für genau ein Gericht verwendet werden.
• Alle veganen Grundgerichte schmecken ungewürzt gleich und sehen auch identisch aus.
• Bei nicht-veganen Gerichten wird einfach zusätzlich etwas Hackfleisch reingekippt. Die Verteilung der g Gewürze auf die v veganen Grundgerichte soll möglichst abwechslungsreich gestaltet werden. Für die Erstellung des wöchentlichen Speiseplans muss das Studentenwerk bestimmen, wie viele unterschiedliche Würzmischungen Wv,g auf diesem Wege überhaupt möglich sind und schließlich wie viele verschiedene Essen Ev,g im Speiseplan stehen werden:
• Bei gleich vielen veganen Gerichten wie Gewürzen (v = g) gibt es eine Würzung Wv,g = 1: Jedes vegane Gericht bekommt genau eines der Gewürze.
• Bei nur einem veganen Gericht (v = 1) gibt es auch genau eine Würzmöglichkeit Wv,g = 1: Alle Gewürze werden in das eine Gericht zusammengekippt.
• Andernfalls gibt es weitere Kochtricks: Man nehme das erstbeste Gewürz G zur Hand und . . . – entweder gibt es ein Gericht, das nur mit diesem einen Gewürz G abgeschmeckt wird, dann verteilen sich die restlichen g − 1 Gewürze auf die anderen v − 1 Gerichte; – oder das Gewürz G kommt zusammen mit anderen Gewürzen in das gleiche Gericht, dann werden zuerst die anderen g−1 Gewürze auf alle v Gerichte verteilt (ergibt Wv,g−1 Würzmischungen) und anschließend wird das aktuelle Gewürz G zu einem beliebigen der v Gerichte hinzugefügt (wofür es v Möglichkeiten gibt). ; Das macht dann insgesamt Wv,g = Wv−1,g−1 + v · Wv,g−1 vegane Würzmischungen.
• Die v veganen Grundgerichte und die Wv,g Würzmischungen werden schließlich sowohl mit als auch ohne Hackfleisch zu Ev,g = 2 ·(Wv,g + v) unterschiedliche Essen zusammengerührt. Erstellen Sie eine Klasse VeggieWahn mit einer Methode long essen(int v, int g) so, dass sie die oben beschriebene Anzahl Ev,g ermittelt und zurückgibt. Verwenden Sie zur Implementierung unbedingt Memoization. Sie dürfen davon ausgehen, dass das Ergebnis Ihrer Rechnung in einen long passt. Sie dürfen Ihrer Klasse VeggieWahn bei Bedarf auch private statische Attribute bzw. Hilfsmethoden hinzufügen.
Java:
public class VeggieWahn {
public static long essen(int v, int g) {
if (v < 1 || g < 1 || v > 123|| g >123){
return essen(v,g);
}
if (g == 0 || v==0){
return 0;
}
if (g == 1 || v == 1){
return 1;
}
return 2;
}
}