Wechselgeld 5 besten Kombinationen


  • Gesperrt

    @SeppJ Also unabhängig von dem (zugegebenermaßen) Pointer-DingDong hab ich das Problem, dass man die mindestens n besten Kombinationen nicht in der richtigen Reihenfolge berechnen kann.

    Oder ich bin dafür nicht schlau genug.



  • Für "beste" Kombination == "wenige Geldstücke" geht das schon. Ist sogar ziemlich simpel und braucht keine Rekursion. Wie aber schon mehrfach gesagt sehe ich darin wenig Sinn.


  • Mod

    @EinNutzer0 sagte in Wechselgeld 5 besten Kombinationen:

    @SeppJ Also unabhängig von dem (zugegebenermaßen) Pointer-DingDong hab ich das Problem, dass man die mindestens n besten Kombinationen nicht in der richtigen Reihenfolge berechnen kann.

    Dann musst du dir entweder eine andere Methode ausdenken (siehe TGGC) oder aber eine andere Möglichkeit, wie man so etwas in die richtige Reihenfolge bringen kann. Dinge in die richtige Reihenfolge zu bringen, ist ein häufiges Problem. Da muss man als Programmierer ein paar Standardansätze in der Hand habe, über die man nicht groß nachdenken braucht. Dafür ja auch diese Übungsaufgaben. Ebenso: Die Top N aus einer unbekannten Menge bestimmen, ohne alles zu sortieren; und beim Berechnen von "Wegen" früh feststellen, dass man sich verlaufen hat.


  • Gesperrt

    Dieser Beitrag wurde gelöscht!


  • So, darauf habe ich gewartet: der 200. Eintrag hier. 😉



  • @titan99_ sagte in Wechselgeld 5 besten Kombinationen:

    Es ist mit 198 Beiträgen auch sehr übersichtlich. Da ist die Grenze noch lange nicht erreicht 🤭

    Langsam braucht es ein Inhaltsverzeichnis 😄

    was willst du da denn rein schreiben? präpubertäres, am thema vorbeigehendes, rumgetrolle seite 1ff?


  • Gesperrt

    @TGGC versteht mich einfach nicht. Schade. 😞

    1x5 1x50 1x500  (3)
    1x5 1x10 2x20 1x500     (5)
    1x1 2x2 1x50 1x500      (5)
    1x5 1x50 1x100 2x200    (5)
    1x5 1x50 3x100 1x200    (6)
    1x5 3x50 2x200  (6)
    1x5 3x10 1x20 1x500     (6)
    3x5 2x20 1x500  (6)
    3x1 1x2 1x50 1x500      (6)
    

    Wäre das jetzt die genau richtige Reihenfolge und die genau 9 besten Kombinationen für den Betrag 555? Dann hätte ich nämlich eine Lösung gefunden, mit einer selbst gebastelten PrioQueue. 🤣 (Viel zu viel Umstand für diese Aufgabe).



  • @EinNutzer0

    500e: 1
    200e: 0
    100e: 0
    50e: 1
    20e: 0
    10e: 0
    5e: 1
    2e: 0
    1e:0
    50ct: 0
    20ct: 0
    10ct: 0
    5ct: 0
    2ct: 0
    1ct: 0
    
    500e: 0
    200e: 2
    100e: 1
    50e: 1
    20e: 0
    10e: 0
    5e: 1
    2e: 0
    1e:0
    50ct: 0
    20ct: 0
    10ct: 0
    5ct: 0
    2ct: 0
    1ct: 0
    
    500e: 0
    200e: 1
    100e: 3
    50e: 1
    20e: 0
    10e: 0
    5e: 1
    2e: 0
    1e:0
    50ct: 0
    20ct: 0
    10ct: 0
    5ct: 0
    2ct: 0
    1ct: 0
    
    500e: 0
    200e: 0
    100e: 5
    50e: 1
    20e: 0
    10e: 0
    5e: 1
    2e: 0
    1e:0
    50ct: 0
    20ct: 0
    10ct: 0
    5ct: 0
    2ct: 0
    1ct: 0
    
    500e: 0
    200e: 2
    100e: 0
    50e: 3
    20e: 0
    10e: 0
    5e: 1
    2e: 0
    1e:0
    50ct: 0
    20ct: 0
    10ct: 0
    5ct: 0
    2ct: 0
    1ct: 0
    
    500e: 0
    200e: 1
    100e: 2
    50e: 3
    20e: 0
    10e: 0
    5e: 1
    2e: 0
    1e:0
    50ct: 0
    20ct: 0
    10ct: 0
    5ct: 0
    2ct: 0
    1ct: 0
    
    500e: 0
    200e: 0
    100e: 4
    50e: 3
    20e: 0
    10e: 0
    5e: 1
    2e: 0
    1e:0
    50ct: 0
    20ct: 0
    10ct: 0
    5ct: 0
    2ct: 0
    1ct: 0
    
    500e: 0
    200e: 1
    100e: 1
    50e: 5
    20e: 0
    10e: 0
    5e: 1
    2e: 0
    1e:0
    50ct: 0
    20ct: 0
    10ct: 0
    5ct: 0
    2ct: 0
    1ct: 0
    
    500e: 0
    200e: 0
    100e: 3
    50e: 5
    20e: 0
    10e: 0
    5e: 1
    2e: 0
    1e:0
    50ct: 0
    20ct: 0
    10ct: 0
    5ct: 0
    2ct: 0
    1ct: 0
    

    wäre das, was mein programm ausgibt. ehrlich gesagt gefallen mir die kombinationen da irgendwie besser.


  • Gesperrt

    @codinglea
    Bringe einfach irgendwie in Erfahrung, ob das prüfungsrelevant ist - und, FALLS NICHT, vergiss das komplette Thema einfach. 😃



  • @EinNutzer0 sagte in Wechselgeld 5 besten Kombinationen:

    Wäre das jetzt die genau richtige Reihenfolge und die genau 9 besten Kombinationen für den Betrag 555? Dann hätte ich nämlich eine Lösung gefunden, mit einer selbst gebastelten PrioQueue. 🤣 (Viel zu viel Umstand für diese Aufgabe).

    Das ist genau das Problem, es gibt keine genau richtige Reihenfolge. Man könnte innerhalb der Blöcke beliebig tauschen und es wäre trotzdem richtig. Obs wirklich richtig ist und nichts fehlt ist aber schwer aus dem Stand zu überblicken.

    Aber viel wichtiger, ein Beweis ist das eh nicht. Ich würde als Lehrender nicht mal akzeptieren, wenn du das für alle Zahlen 1 bis INT_MAX laufen lässt. Du sollst gedanklich nachvollziehen können, warum dein Programm in jedem Fall die richtigen Lösungen raussucht. Und nicht CodeZeilen rumschieben, bis es bei 555 mal was ausspuckt, was irgendwie richtig aussieht. Darum macht es eben auch Sinn fertige Sachen wie qsort aufzurufen, weil man dann das Ergebnis der Sortierung nicht mehr diskutieren muss.



  • @Wade1234 sagte in Wechselgeld 5 besten Kombinationen:

    wäre das, was mein programm ausgibt. ehrlich gesagt gefallen mir die kombinationen da irgendwie besser.

    Nur, dass die Lösungen 2 bis 4 von EinNutzer mit 5 Scheinen auskommen, während Du schon ab Lösung 3 6 Scheine benötigst ... 🙄


  • Gesperrt

    Du bist aber nicht Lehrer. Ich wäre auch gern US-Präsident oder Astronaut, kann mir aber vermutlich beides abhaken. Werd erstmal erwachsen.



  • @EinNutzer0
    Ich glaube, Du kannst ganz froh sein ... wenn Du Dich als Astronaut auch so unbelehrbar starrsinnig an Ideen klammern würdest, würdest Du vermutlich nicht alt werden ...


  • Gesperrt

    Naja, aber als Präsident den halben Tag twittern kann ich. 🙂

    Ich mag diese Großspurigkeit von @TGGC einfach nicht.



  • @Belli sagte in Wechselgeld 5 besten Kombinationen:

    @Wade1234 sagte in Wechselgeld 5 besten Kombinationen:

    wäre das, was mein programm ausgibt. ehrlich gesagt gefallen mir die kombinationen da irgendwie besser.

    Nur, dass die Lösungen 2 bis 4 von EinNutzer mit 5 Scheinen auskommen, während Du schon ab Lösung 3 6 Scheine benötigst ... 🙄

    dafür bestehen meine lösungen nicht meistens aus 500€-scheinen. also mein mathelehrer hat angeblich mal mittels differentialrechnung die "optimalen" maße für bierdosen ausgerechnet und dann an holsten geschrieben, dass sie mit diesen maßen ja soundso viel material einsparen würden. antwort: dann kann die dose von 80% der kunden nicht mehr vernünftig angefasst werden. 🤣


  • Mod

    @Wade1234 sagte in Wechselgeld 5 besten Kombinationen:

    @Belli sagte in Wechselgeld 5 besten Kombinationen:

    @Wade1234 sagte in Wechselgeld 5 besten Kombinationen:

    wäre das, was mein programm ausgibt. ehrlich gesagt gefallen mir die kombinationen da irgendwie besser.

    Nur, dass die Lösungen 2 bis 4 von EinNutzer mit 5 Scheinen auskommen, während Du schon ab Lösung 3 6 Scheine benötigst ... 🙄

    dafür bestehen meine lösungen nicht meistens aus 500€-scheinen. also mein mathelehrer hat angeblich mal mittels differentialrechnung die "optimalen" maße für bierdosen ausgerechnet und dann an holsten geschrieben, dass sie mit diesen maßen ja soundso viel material einsparen würden. antwort: dann kann die dose von 80% der kunden nicht mehr vernünftig angefasst werden. 🤣

    Tja, das kommt davon, wenn man nicht alle Randbedingungen berücksichtigt. Womit wir wieder bei unterdefinierten Problemenwie dieser Aufgabe sind, denn wie bei der Bierdose wurde dort ja auch vergessen zu definieren, was eine "gute" Bierdose/Stückelung ausmacht. Komisch, man könnte fast meinen, dass solche Details im Leben wichtig wären 🙂



  • @SeppJ also wenn ich jetzt der ausbilder wäre und irgendeine beliebige beste lösung präsentiert bekommen würde mit einer begründung, die irgendwo auch schlüssig ist (wie z.b. der tatsache, dass kein geschäft 500€-scheine annimmt), dann würde ich wahrscheinlich zuerst so machen: 😱 und dann so: 👏🏻 weil da jemand mal seinen oder ihren keks angestrengt und mitgedacht hat. 🙄


  • Mod

    Ich würde vor allem verlangen, dass mir der Programmierer erklären kann, welches Kriterium er gewählt hat und wie man das in seinem Programm sehen kann. Denn irgendwie durch Glück irgendetwas produzieren kann jeder und sich das hinterher schön reden.

    @TGGC sagte in Wechselgeld 5 besten Kombinationen:

    Du sollst gedanklich nachvollziehen können, warum dein Programm in jedem Fall die richtigen Lösungen raussucht. Und nicht CodeZeilen rumschieben, bis es bei 555 mal was ausspuckt, was irgendwie richtig aussieht.

    Das hier.

    Kannst du das von deiner Lösung behaupten? Ich denke nicht. Kannst du sie überhaupt noch selber vollständig verstehen, jetzt, nachdem ein paar Tage vergangen sind?



  • ehrlich gesagt ja: sie kann einfach und ohne intensives nachdenken programmiert werden und wenn man die geldsumme noch in intervalle aufteilt (z.b. 500€, 200€, 100€; 50€, 20€, 10€; usw) und für jedes intervall einmal den algorithmus aufruft, läuft es ziemlich schnell. es ist in nächster zeit kaum damit zu rechnen, dass noch weitere geldwerte eingeführt werden, und wenn in zukunft scheine mit 500€ und 200€ abgeschafft werden, müssen ja eigentlich nur die beiden inneren schleifen entfernt werden.

    verbesserungswürdig wäre vielleicht noch, für die geldwerte ein array anzulegen und für die einzelnen positionen des array konstanten mittels enum zu definieren, aber so weit waren wir bisher noch nicht.



  • Ich hatte es schon sehr weit oben gesagt, die 5 "Besten" ausgeben (was auch immer das Kriterium ist) macht in der Praxis keinen Sinn. Dann liegen diese immer sehr nah beisammen. In der Realität will aber niemand zwischen 5 Optionen wählen, die sich kaum unterscheiden.

    Das ist aber relativ irrelevant um die Lerninhalte dieser Aufgabe zu vermitteln. @EinNutzer0: Übrigens wird die Aufgabe sicher nicht prüfungsrelevant sein. Die Konzepte auf denen wob, SeppJ etc. hier aber die ganze Zeit rumreiten, sollten aber mit Sicherheit abgeprüft werden (oder diese Prüfungen kann man genauso in der Pfeife rauchen wie das didaktische Konzept von leas Ausbilder...)