Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

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

Frage Entwicklung

Mitglied: 8644

8644 (Level 3)

11.04.2007, aktualisiert 26.04.2007, 4157 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
LAN, WAN, Wireless
gelöst Ermittlung des besten WLAN-Standortes (3)

Frage von honeybee zum Thema LAN, WAN, Wireless ...

Batch & Shell
gelöst Powershell Wert der Property entfernen manipulieren (9)

Frage von Nintox zum Thema Batch & Shell ...

JavaScript
gelöst Funktion ausführen nach Refresch von DIV Container (2)

Frage von wiesi200 zum Thema JavaScript ...

Windows Systemdateien
Kbdclass und mouclass Start Werte

Frage von H41mSh1C0R zum Thema Windows Systemdateien ...

Neue Wissensbeiträge
Windows Update

Novemberpatches und Nadeldrucker bereiten Kopfschmerzen

(14)

Tipp von MettGurke zum Thema Windows Update ...

Windows 10

Abhilfe für Abstürze von CDPUsersvc auf Win10 1607 und 2016 1607

(7)

Tipp von DerWoWusste zum Thema Windows 10 ...

RedHat, CentOS, Fedora

Fedora 27 ist verfügbar

Information von Frank zum Thema RedHat, CentOS, Fedora ...

Heiß diskutierte Inhalte
Server
Bilder aus dem Web mit CSV runterladen (30)

Frage von Yannosch zum Thema Server ...

Windows Update
WSUS 4 (Server 2012 R2) - Windows 10 Updates nicht möglich (12)

Frage von c0d3.r3d zum Thema Windows Update ...

Windows Userverwaltung
gelöst Administrator hat alle Rechte verloren (10)

Frage von mrdead zum Thema Windows Userverwaltung ...