MiniBCC #18 - Abstimmung
Übersicht

Der Beitrag welchen Teilnehmers hat dich am meisten überzeugt? | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
|
||||||||||||
Insgesamt 6 Stimmen |
![]() |
XeresModeratorBetreff: MiniBCC #18 - Abstimmung |
![]() Antworten mit Zitat ![]() |
---|---|---|
Grüße!
Wir haben drei Teilnehmer, die die Aufgabe gelöst haben. Die Ergebnisse sollten ja gleich sein, darum lohnt es sich, kurz den Code zu öffnen und dessen Zustand ein zu schätzen. beitreage_minibcc18.zip [~500KB] Die Originalaufgabe findet sich auf hackerrank.com/coinage wieder, von wo ich sieh geliehen habe, da mir nichts besseres einfiel. Die Umfrage läuft 7 Tage, also sollte nächsten Montag das Ergebnis fest stehen. |
||
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus THERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld) |
- Zuletzt bearbeitet von Xeres am Di, Jan 14, 2014 19:46, insgesamt einmal bearbeitet
![]() |
HolzchopfMeisterpacker |
![]() Antworten mit Zitat ![]() |
---|---|---|
Wenn ich bei DAKs Programm die Zahlen vom Beispiel eingebe, Zitat: Ihr besitzt 2x1c, 3x2c, 1x5c 1x10c und wollt ein Brötchen zu 15c Bezahlen.
Ihr könntet so bezahlen: 1x5c + 1x10c oder so: 1x1c + 2x2c + 1x10c Also sollte euer Programm ausgeben: 2 erhalte ich als Antwort 14. Sicher, dass da die richtige Version im Zip-Archiv beilag? Ändert man nämlich CHECKPERMUTATIONS auf true, dann stimmt's wieder ![]() |
||
Erledige alles Schritt um Schritt - erledige alles. - Holzchopf
CC BY ♫ BinaryBorn - Yogurt ♫ (31.10.2018) Im Kopf da knackt's und knistert's sturm - 's ist kein Gedanke, nur ein Wurm |
![]() |
DAK |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich hab da eine verbuggte Version hochgeladen und wollte sie noch ändern, bin aber wegen mehreren Uni-Abgaben nicht mehr dazu gekommen.
Meine Abgabe könnte man da eigentlich rausnehmen und nicht bewerten. |
||
Gewinner der 6. und der 68. BlitzCodeCompo |
![]() |
Krusby |
![]() Antworten mit Zitat ![]() |
---|---|---|
Meine Stimme geht an SpionAtom.
Ganz klar Optisch einwandfrei und macht genau das was es soll und das sehr zügig. Was mich aber eigentlich dazu bringt hier zu Posten ist, weiß auch nicht obs an mir lag oder an euren Programmen aber DAK dein Programm zum Beispiel Listet garkeine möglichen kombinationen auf und Holz... seins läst sich so erst garnicht starten. |
||
Gewinner des BCC 76 |
![]() |
DAK |
![]() Antworten mit Zitat ![]() |
---|---|---|
Wie gesagt, die Version, die da oben ist, sollte wirklich nicht da sein. | ||
Gewinner der 6. und der 68. BlitzCodeCompo |
![]() |
HolzchopfMeisterpacker |
![]() Antworten mit Zitat ![]() |
---|---|---|
Kann es sein, dass man hier genau sieht wer in der Industrie tätig ist und wer noch zur Schule geht? ![]() ![]() Guckt man die Codes an (worauf man sogar vom Wettbewerbveranstalter hingewiesen wird), sieht man, dass Spion einen anderen Ansatz wählte als ich, nämlich einen rekursiven Algorithmus. Intuitiv sollte diese Lösung einiges schneller sein als meine, doch leider lässt sich die reine Rechenzeit mit den beiden Programmen so nicht direkt vergleichen: Spions Programm aktualisiert bei jeder gefundenen Möglichkeit die GUI, was dann eben zu erheblichen Verzögerungen führt, wenn viele Möglichkeiten existieren. Also, Spion: Den Algorithmus in seinen Grundzügen hast du gut hingekriegt, von allen dreien bestimmt der fixeste und robusteste. Du hast dir auch die Mühe genommen, eine GUI hinzuzaubern. Aber du hast den Geschwindigkeits-Vorzug des Algos durch die ewige Aktualisierung zerstört. Und da machst du ein schickes Programm mit Bedieneroberfläche und bist dir zu schade die Readme dazu anzupassen. Spiesser, tzes... Und der Code erst ![]() ![]() mfG Holzchopf |
||
Erledige alles Schritt um Schritt - erledige alles. - Holzchopf
CC BY ♫ BinaryBorn - Yogurt ♫ (31.10.2018) Im Kopf da knackt's und knistert's sturm - 's ist kein Gedanke, nur ein Wurm |
![]() |
SpionAtomBetreff: Also das war so... |
![]() Antworten mit Zitat ![]() |
---|---|---|
Mein ursprüngliches Paket beinhaltete neben der B+ Variante noch die BB Variante, und für diese war auch die Readme-Datei (kann ich ja nicht wissen, dass Xeres die Pakete brutal minimiert).
Ich habe mich letztendlich für die B+ Variante entschieden, weil die am geilsten aussah. Die Leerzeichen kommen sicherlich daher, dass ich ständig aus der Hilfe Zeugs kopiert habe - ich habe noch nie etwas mit B+ zuvor gemacht. Am Ende ist die Eingabe/Ausgabe natürlich nur schmückendes Beiwerk und man sollte sich im wesentlichen nur auf den Algorithmus konzentrieren... ...als ob sich ein Wähler hier die Zeit nehmen würde um Quelltext zu analysieren ![]() Sicher hilft es, den Code zu kommentieren. Ich war zu faul. Aber ich werd mal ne Algorithmus-erklärung nachliefern: Der Algorithmus erhält als Parameter eine Summe sum, die man erreichen möchte, sowie die Anzahlen der vier verschiedenen Münzen a1, a2, a5, ax. (die Variable out$ vernachlässige ich, die ist nur für die Ausgabe) Und er gibt zurück: die Anzahl an Münzkombinationen Function CoinSums(Sum, a1, a2, a5, ax). Dann habe ich mir überlegt, was passiert, wenn man eine Zehnermünze wegnimmt, und bin zum Ergebnis gekommen: Wenn es noch Zehnermünzen gibt und die zu erreichende Summe auch größergleich 10 ist, dann gilt: CoinSums(Sum, a1, a2, a5, ax) = CoinSums(Sum - 10, a1, a2, a5, ax - 1) + CoinSums(Sum, a1, a2, a5, 0) Was steht hier? Die Kombinationen um die Summe sum zu erreichen mit einem bestimmten Pool an Münzen IST GLEICH (der Kombinationen die Summe sum - 10 zu erreichen mit einem bestimmten Pool an Münzen - eine Zehnermünze) PLUS (die Kombinationen um die Summe sum zu erreichen mit einem bestimmten Pool an Münzen ohne Zehnermünzen zu verwenden) Harter Tobak, und ich habe auch lange daran rumprobiert. Das ganze muss man für alle Münzen durchspielen. Ist die Summe bei einem Rekursionsaufruf mal bei 0 angekommen, so weiß ich, dass eine Lösung gefunden wurde. Funfact: Die erste gefundene Lösung ist immer die optimale, also die mit den wenigsten Münzen |
||
os: Windows 10 Home cpu: Intel Core i7 6700K 4.00Ghz gpu: NVIDIA GeForce GTX 1080 |
![]() |
HolzchopfMeisterpacker |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hihi ![]() ![]() ![]() Dass du lange am Algo rumprobiert hast kann ich mir vorstellen. Ich nehme an, rumprobieren bezieht sich auf die mathematische Herleitung des Algorithmus und nicht dessen Umsetzung... |
||
Erledige alles Schritt um Schritt - erledige alles. - Holzchopf
CC BY ♫ BinaryBorn - Yogurt ♫ (31.10.2018) Im Kopf da knackt's und knistert's sturm - 's ist kein Gedanke, nur ein Wurm |
![]() |
Krusby |
![]() Antworten mit Zitat ![]() |
---|---|---|
Holzchopf hat Folgendes geschrieben: Kann es sein, dass man hier genau sieht wer in der Industrie tätig ist und wer noch zur Schule geht?
![]() Verstehe nicht ganz was du mit diesen Satz aussagen möchtest und was das überhaupt damit zu tun hat Holzchopf ![]() |
||
Gewinner des BCC 76 |
![]() |
HolzchopfMeisterpacker |
![]() Antworten mit Zitat ![]() |
---|---|---|
Oh, hab vergessen das auszuführen ![]() Ich habe mal ganz einfach unterstellt, dass ich nur das nötige gemacht habe, um die Aufgabe zu erfüllen, weil es so auch Gang und Gäbe ist, wenn man nach einem Pflichtenheft arbeitet. Genau genommen wäre es sogar verpönt, mehr als nur das nötige zu machen. Gefordert war ein Programm, dass die Frage nach der Anzahl Möglichkeiten beantwortet - es war keine Rede von GUI oder Auflistung der Möglichkeiten. Wäre die Aufgabe also ein Pflichtenheft, würde es genau das beschreiben, was mein Programm tut. Spions hingegen würde eher auf ein anderes (jedoch leider nie dagewesenen ![]() ![]() In der Schule hingegen (auch im Studium) wird nicht mit PHs gearbeitet. Da sind Aufgaben nur Aufgaben um etwas vorzugeben mit dem man die Ergebnisse messbar vergleichen kann: Man kriegt eine Zielvorgabe, die man entweder nicht erreicht, erreicht oder gar übertrifft. Spions Abgabe übertrifft nun sogar im doppelten Sinne: Er liefert eine praktische GUI dazu und lässt das Programm sogar die Möglichkeiten auflisten. Lässt man DAKs Beitrag aussen vor, gibt's zwei Beiträge wie Tag und Nacht - eine Minimal- und eine Maximalvariante. Das kam mir eben bekannt vor. Ich weiss nicht mal ob Spion noch studiert, aber mich erinnerte es halt daran, wie unterschiedlich man eine Vorgabe interpretieren kann, abhängig davon, ob man seine Brötchen oder seine Noten damit verdient. Alles klar? Nebenbei: Du sagst, meines liesse sich nicht ausführen - wie startest du das Programm denn? |
||
Erledige alles Schritt um Schritt - erledige alles. - Holzchopf
CC BY ♫ BinaryBorn - Yogurt ♫ (31.10.2018) Im Kopf da knackt's und knistert's sturm - 's ist kein Gedanke, nur ein Wurm |
![]() |
SpionAtom |
![]() Antworten mit Zitat ![]() |
---|---|---|
Studiere nicht.
Ich hatte auch erst "nur" die Minimalvariante. Aber da wir hier im Wettbewerbskontext sind und nicht in der Industrie, habe ich die Stimmenfanglösung gewählt. Tja, HC, ich bin eben der schlauere von uns beiden ![]() Wenn ich auf der Arbeit programmiere (was leider viel zu selten vorkommt), dann hält mich mein Chef auch dazu an, nur das nötigste zu programmieren. |
||
os: Windows 10 Home cpu: Intel Core i7 6700K 4.00Ghz gpu: NVIDIA GeForce GTX 1080 |
![]() |
HolzchopfMeisterpacker |
![]() Antworten mit Zitat ![]() |
---|---|---|
SpionAtom hat Folgendes geschrieben: Tja, HC, ich bin eben der schlauere von uns beiden
![]() Du hast "fleissigere" falsch geschrieben ![]() Ich will mich auch nicht als faul darstellen (auch wenn meine Faulheit Grund für den minimalistischen Beitrag War), immerhin habe ich einen Beitrag abgeliefert... ![]() |
||
Erledige alles Schritt um Schritt - erledige alles. - Holzchopf
CC BY ♫ BinaryBorn - Yogurt ♫ (31.10.2018) Im Kopf da knackt's und knistert's sturm - 's ist kein Gedanke, nur ein Wurm |
![]() |
XeresModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Die Massen haben abgestimmt und SpionAtom für siegreich erklärt!
Möge er wohlwollend den nächsten MiniBCC regieren. Danke an alle Teilnehmer und Abstimmer! |
||
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus THERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld) |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group