Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

gelöst Ansatz für Funktion gesucht - Ermittlung von Werten

Mitglied: 8644

8644 (Level 3)

11.04.2007, aktualisiert 26.04.2007, 4171 Aufrufe, 5 Kommentare

Kleine Nuss, mit der ich mich schon eine Weile herum schlage

Hallo Forum!

Folgende Problematik:
Gegeben ist eine Liste mit Werten (Preisen), eine Anzahl und ein Gesamtwert.
Bsp.

Die Liste : 25,28,30 ... 3500 (ca. 170 Werte, jeweils mit einem Index versehen)
Anzahl = 456
Gesamtwert = 50678

Das Ergebnis könnte in etwa so aussehen:

20 * 30 = 600
100 * 25 = 2500
usw.
Am Ende müssen die Summen für Anzahl und Gesamtwert mit den gegebenen Werten übereinstimmen.

Wie würdet ihr an die Sache gehen? Bei mir muss es Delphi sein, aber ein Ansatz in einer anderen Sprache würde mir schon weiter helfen.

Danke

Psycho
Mitglied: filippg
11.04.2007 um 16:34 Uhr
Hallo,

also irgendwie hast du deine Frage nicht so wirklich prickelnd formuliert. Sehe ich das so richtig: Du hast Artikel und dazugehörige Preise. Dann hast du einen Warenkorb, von dem du nicht weisst, was drinne ist, sondern nur wie viele Artikel das insgesamt sind, und wie viel der ganze Korb wert ist.

Dann ist das eine Erweiterung des klassischen Rucksackproblems und als solches wohl NP-Vollständig. Mit anderen Worten: da hilft nicht viel ausser Ausprobieren, gegebenenfalls noch mit einer Heuristik als Unterstützung. Zum Rucksackproblem findet sich einiges im Internet.

Filipp
Bitte warten ..
Mitglied: 8644
13.04.2007 um 11:09 Uhr
Hallo Filipp,

sorry, dass ich mich ungeschickt ausgedrückt habe! Da du aber mein Problem richtig interpretiert hast, kann es ja so schlimm nicht gewesen sein !
Du triffst den Nagel auf den Kopf! Hab mich auch schon im Internet umgesehen, dort gibt es zwar viele Erklärungen (schön, dass ich jetzt weiss, dass mein Problem auch einen Namen hat!), aber eine richtige Lösung ist wohl wirklich nur durch etliche Versuche zu bekommen.
Ich werde mich am WE mal intensiver damit befassen und wenn mir was gelingt, melde ich mich wieder!

Psycho
Bitte warten ..
Mitglied: 8644
26.04.2007 um 16:59 Uhr
So, es war dann doch zu warm zum Grübeln!
Ich habe mir eine Prozedur gebastelt, die für mein Problem geeignet ist.
Da das Ganze aber zu speziell ist, klemme ich es mir, den Code hier zu posten.

Also gelöst!

Psycho
Bitte warten ..
Mitglied: filippg
26.04.2007 um 17:19 Uhr
Hallo,

aber ich vermute mal, die Prozedur tut auch nichts anderes als (evtl. geschicktes) Ausprobieren?

Filipp
Bitte warten ..
Mitglied: 8644
26.04.2007 um 18:21 Uhr
Hi Filipp

aber ich vermute mal, die Prozedur tut auch
nichts anderes als (evtl. geschicktes)
Ausprobieren?

Im Prinzip schon, ich nenne es jetzt aber mal "Annähern"

Ich mache einige Schleifendurchläufe, in denen ich zuererst eine Division - Rest der Summe durch Rest der Anzahl - durchführe. Dann durchlaufe ich die Liste rückwärts, bis ich den Wert finde, der vorhanden ist und kleiner als das Ergebnis der Division. Jetzt multipliziere ich bei Anzahl = 1 (und dann natürlich das Inkrement) angefangen solange mit dem gefundenen Wert bis entweder eine Ganzzahldivision durch einen vorhandenen Wert möglich ist oder ein nächst höherer Wert gefunden wurde!

Bis jetzt ging es immer auf!

Ich glaube zwar nicht, dass das jetzt jemand verstanden hat, aber irgend was ist ja immer

Falls Interesse besteht, maile ich dir die Prozedur mal.

Psycho
Bitte warten ..
Ähnliche Inhalte
PHP

PHP - Funktion zur Ermittlung von wahren lösungen

Frage von horscht.baPHP2 Kommentare

Hallo zusammen, ich frage mich, ob es eine funktion in PHP, die mir aus verschieden abhängigen variablen eine Lösung ...

Sicherheits-Tools

Antivirenschutzsoftware mit bestimmter Funktion gesucht

gelöst Frage von Trackmaster1303Sicherheits-Tools19 Kommentare

Hallo zusammen, ich habe mal wieder ein Anliegen. Ich habe schon recherchiert, aber irgendwie nichts gefunden. Oder ich habe ...

VB for Applications

VBA: Verständnisfrage bei Funktionen, Rückgabe von Werten

gelöst Frage von AximandVB for Applications3 Kommentare

Hallo, ich bekomm gerade etwas nicht in meinen Schädel. Ich habe eine Funktion erstellt, die eine SQL-Abfrage zusammenstellt: Diese ...

Windows Server

Backup-Programm mit SFTP Funktion gesucht

Frage von hijacker99Windows Server4 Kommentare

Hallo zusammen Ich bin auf der Suche nach einem guten Backup-Programm, dass die Daten via SFTP auf eine NAS ...

Neue Wissensbeiträge
Sicherheit

MikroTik-Router patchen, Schwachstelle wird ausgenutzt

Information von kgborn vor 2 StundenSicherheit

Am 23. April 2018 wurde von Mikrotik ein Security Advisory herausgegeben, welches auf eine Schwachstelle im RouterOS hinwies. Mikrotik ...

Windows 10

Microcode-Updates KB4090007, KB4091663, KB4091664, KB4091666 für Windows 10

Information von kgborn vor 9 StundenWindows 101 Kommentar

Kurze Information für Administratoren von Windows 10-Systemen, die mit neueren Intel CPUs laufen. Microsoft hat zum 23. April 2018 ...

iOS
Updates für Iphone und Co
Information von sabines vor 12 StundeniOS

Gestern abend ist iOS 11.3.1 erschienen, ein kleineres Update, dass einige Lücken schließt und "Lahmlegen" nach einem Display Tausch ...

Windows 7

Windows 7 - Server 2008 R2: Exploit für Total Meltdown verfügbar

Information von kgborn vor 1 TagWindows 7

Kleine Information für Administratoren, die für die Updates von Windows 7 SP1 und Windows Server 2008 R2 SP1 verantwortlich ...

Heiß diskutierte Inhalte
Batch & Shell
Powershell: Im AD nach Rechnern mit bestimmten IP-Adressen suchen
gelöst Frage von Raven42Batch & Shell36 Kommentare

Hallo zusammen, ich suche nach einer Möglichkeit nach Computern im AD zu suchen , deren IP-Adresse mit 10.11.12. beginnt. ...

C und C++
Frage1 C Programmierung-Makefile Frage2 PHP-Programmierung HTTP-Fehler 404
Frage von KatalinaC und C++34 Kommentare

Hallo, ich habe 2 Fragen, die nichts miteinander zu tun haben aber mit denen ich mich gerade beschäftige: 1. ...

LAN, WAN, Wireless
Watchguard T15 VPN Einrichtung
gelöst Frage von thomasjayLAN, WAN, Wireless25 Kommentare

Hallo zusammen, wir möchten gerne über unsere Watchguard T15 einen VPN-Tunnel (Mobile VPN with IPSec) einrichten! Als Client nutzen ...

Windows Server
Alten DC entfernen
Frage von smartinoWindows Server24 Kommentare

Hallo zusammen, ich habe hier eine Umgebung übernommen und erstmal einen DCDIAG gemacht. Dabei fällt auf, daß eine ganze ...