Autor Beitrag
fidionael
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 232

Win XP SP2, Ubuntu 6.06
Delphi 7 PE, Delphi 3 Prof
BeitragVerfasst: Fr 13.10.06 03:51 
Hallo,

ich habe ein Problem bei der Entwicklung eines Algorithmus für eine Schulaufgabe.

Zitat:

Eine Firma bekommt jeden Monat ein gegebenes Budget, von der Besorgungen gemacht werden müssen, welches nicht überschritten werden darf und verfällt, wenn es nicht genutzt wird. Es gibt jedoch die Möglichkeit, bereits vorhandene Waren zum Einkaufspreis wieder gegen neue Waren auszutauschen um so das Budget "künstlich" zu erhöhen. Erstelle ein Programm, dass bei gegebenen Budget und einer beliebig langen Liste von Dingen mit gegebenen Preisen, einen Plan erstellt, wie alle Dinge schnellstmöglich zu besorgen sind.


Nun habe ich mir überlegt, dass ich zunächst das teuerste Listenelement kaufen möchte, dann das zweitteuerste, etc, esseidenn diese sind auf Umwegen schon vorhanden. Bei jedem Einkauf sollte der Gewinn maximal sein, bzw. das verschwendete Budget minimal. Nun stellt sich mir jedoch die Frage, wie ich der Reihe nach alle unterschiedlichen Kombinationen durchgehe, so dass ich tatsächlich die Kombination kriege, die mir den meisten Gewinn erbringt.

Ich habe eine Formel für das "künstlich erweiterte Budget" (max) entwickelt, welche ich im .png-Format mal anhänge. Weiterhin kann von Folgendem ausgegangen werden:
ausblenden Delphi-Quelltext
1:
2:
3:
var
  Liste: Array of Integer; //dyn. Array von Listenelementen (ihren Preisen)
  Besitz: Array of Integer; //dyn. Array in den der Index des Listenelementes gespeichert wird

Die Formel müsste ansonsten selbsterklärend sein - count repräsentiert die Anzahl von Dingen die ich habe.

Ich hoffe, dass ich mich einigermaßen verständlich ausgedrückt habe und mir jemand helfen kann und will. Schonmal vielen Dank im Vorraus.

Mfg
Einloggen, um Attachments anzusehen!
Gausi
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 8548
Erhaltene Danke: 477

Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
BeitragVerfasst: Fr 13.10.06 13:34 
Nach Absprache mit user profile iconfidionael ist dieser Thread wegen Übereinstimmung mit einer Aufgabe des "Bundeswettbewerb für Informatik" und Gründen der Fairness anderen Teilnehmern gegenüber erstmal gesperrt.

* closed *

_________________
We are, we were and will not be.
Dieses Thema ist gesperrt, Du kannst keine Beiträge editieren oder beantworten.

Das Thema wurde von einem Team-Mitglied geschlossen. Wenn du mit der Schließung des Themas nicht einverstanden bist, kontaktiere bitte das Team.