Wechselgeld 5 besten Kombinationen



  • @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...)



  • wobei mir jetzt gerade beim zähneputzen so eingefallen ist, dass es eigentlich nie gut sein kann, bspw. 300€ mit geldwerten < 100€ auszuzahlen, weshalb es irgendwie sinn machen könnte, den betrag generell in diese intervalle (> 500, 500 >= X >= 100, 100 >= X >= 10, usw.) aufzuteilen und damit eigentlich 6 funktionen mit je 3 schleifen zu erstellen. aber auch so weit waren wir noch nicht.



  • @Wade1234 sagte in Wechselgeld 5 besten Kombinationen:

    wobei mir jetzt gerade beim zähneputzen so eingefallen ist, dass es eigentlich nie gut sein kann, bspw. 300€ mit geldwerten < 100€ auszuzahlen, weshalb es irgendwie sinn machen könnte, den betrag generell in diese intervalle (> 500, 500 >= X >= 100, 100 >= X >= 10, usw.) aufzuteilen und damit eigentlich 6 funktionen mit je 3 schleifen zu erstellen. aber auch so weit waren wir noch nicht.

    Beifall, jetzt baust du auch nochmal das Gleiche wie ein @EinNutzer0 und machst max x Scheine...

    Genauso deine Quatschüberlegungen, weil es ja in der Realität keine neuen Scheine geben wird. Erstmal hat die Realität nichts damit zu tun, was die korrekte Lösung für eine theoretische Aufgabe ist und zweitens bist du ab morgen gefeuert, weil dein Chef seine Automaten eigentlich an eine weitere Bank die einfach andere Scheine als die Bank davor oder ins Ausland verkaufen wollte. An der Realität scheitert dein Programm noch viel schlimmer als an der Theorie.


  • Gesperrt

    Hatte ich schon erwähnt, dass ich mal im Casino 500 € gewonnen hatte und mir beim Umtausch ein 500 €-Schein gegeben wurde? Ich wurde allerdings vorher gefragt, ob ich mit einem 500 €-Schein einverstanden wäre... (weil, das stimmt, im Alltag ist ein 500 €-Schein wirklich nicht wirklich praktikabel.)

    Noch mal zu dem Code... Man könnte doch einfach 500, 200 und 100 als mögliche Werte aus dem Array entfernen. Dann würde das Problem der "zu großen Scheine" nicht auftreten. Und wenn sich die 5 "besten" Kombinationen nicht besonders unterscheiden, könnte man auch noch so etwas wie einen "Combinations Similarity Comparison" machen... Also eine Definition für die Ähnlichkeit zweier Kombinationen aufstellen.



  • @EinNutzer0 sagte in Wechselgeld 5 besten Kombinationen:

    weil, das stimmt, im Alltag ist ein 500 €-Schein wirklich nicht wirklich praktikabel.

    Dein Einkommen ist einfach nicht hoch genug. Wenn Du Deine Klamotten bei C&A kaufst, ist ein 500€ - Schein natürlich unpraktisch, wenn Du Dich aber im KaDeWe oder bei Harrods einkleidest, sieht das schon wieder ganz anders aus.
    Aber, wie schon gesagt wurde, seit einigen Posts wird versucht, in die ursprüngliche Aufgabenstellung etwas hineinzuinterpretieren, was da nicht drin steht.



  • @TGGC sagte in Wechselgeld 5 besten Kombinationen:

    Beifall, jetzt baust du auch nochmal das Gleiche wie ein @EinNutzer0 und machst max x Scheine...

    ne eigentlich nicht.

    Genauso deine Quatschüberlegungen, weil es ja in der Realität keine neuen Scheine geben wird.

    selbst wenn: du müsstest doch nur die werte oben ändern.

    Erstmal hat die Realität nichts damit zu tun, was die korrekte Lösung für eine theoretische Aufgabe ist

    die theoretische aufgabe lautete "programmieren zu lernen", nicht "kindischen schwanzvergleich abziehen"

    und zweitens bist du ab morgen gefeuert, weil dein Chef seine Automaten eigentlich an eine weitere Bank die einfach andere Scheine als die Bank davor oder ins Ausland verkaufen wollte. An der Realität scheitert dein Programm noch viel schlimmer als an der Theorie.

    ich glaube, wenn ich so einen chef hätte, würde ich sogar freiwillig gehen......