Archive for the ‘Aufgabe’ tag
Algorithmuswettbewerb: Beim Lotto den niedrigsten Gewinn ausschütten
Heute mal wieder etwas zum Grübeln und in die Tasten hauen, ich habe eine kleine Programmieraufgabe für euch, die ihr mit der Programmiersprache eurer Wahl lösen sollt. Es geht um folgendes:
Nehmen wir an ihr seid Lottoveranstalter und könnt die Ziehung beeinflussen. Die Teilnehmer geben vorher Lottoscheine ab mit ihren Tipps, und ihr möchtet nun errechnen welche 6 Zahlen gezogen werden müssen um den geringsten Gewinn auszuzahlen. Nehmen wir vereinfacht folgende Gewinne an:
3 Richtige: 50 Euro
4 Richtige: 200 Euro
5 Richtige: 5000 Euro
6 Richtige: 300.000 Euro
Uns allen ist bekannt dass es beim deutschen Lotto 6 aus 49 anders abläuft, denn dort wird immer die Hälfte der Einzahlungen ausgeschüttet und auf die Gewinnklassen verteilt, egal welche Zahlen der Veranstalter zieht, er muss immer 50% auszahlen. Dann funktioniert das ganze Denkspiel hier aber nicht 😉
Gegeben ist eine Anzahl an Tipps, beispielsweise:
Ergebnisse der Array-Umbau-Aufgabe
Bis heute morgen wurden von 18 Lesern 19 Lösungen zur vorgestrigen Array-Umbau-Aufgabe eingereicht, und ich habe alle Funktionen durchlaufen lassen mit einem Testarray. Nun möchte ich hier einige Werte zur Korrektheit und Laufzeit veröffentlichen.
Dazu habe ich ein Testscript erstellt, welches auf GitHub einsehbar ist, und wo ich alle Funktionen mit einem 29358 Elemente großen Array laufen lasse und dann die Laufzeit und Korrektheit der Umwandlungen überprüfe.
Hier die sortierbare Tabelle:
Weiterlesen »
Kleine Aufgabe: Ein Array umbauen
Eine kleine Aufgabe, die es zu lösen gibt. Ich habe folgendes Ausgangsarray, das nur positive ganze Zahlen enthält, die nur einmal vorkommen:
$numbers = array(13,81,80,79,78,77,76,19,40,41,42,43,44,45,48);
und möchte:
$numbers = array(13,"81-76",19,"40-45",48);
Es sollen also alle zusammenhängenden Arrayelemente zusammengefasst werden, um das Array kleiner zu machen (weniger Speicherplatz/Traffic).
In einem zweiten Schritt soll dann dieses Array wieder zurück umgewandelt werden in das Original:
$numbers = array(13,81,80,79,78,77,76,19,40,41,42,43,44,45,48);
Die Reihenfolge soll beibehalten werden, sodass es möglich ist das Array vor- und zurück umzuwandeln.
Wer hat die schönste und einfachste Lösung für die beiden Funktionen? Lösungen per Gist oder Pastie etc. posten.