Falls jemand etwas Langeweile hat, hier eine kleine Code-Challenge:
Es geht im Grunde um das Spiel Shut The Box, auch bekannt als Klappenspiel, allerdings in etwas abgewandelter Form:
Input:
Das Programm bekommt als Input (in welcher Form ist egal, kann auch direkt im Code stehen) eine Summe s, die Anzahl der Summanden n und eine Liste von möglichen Summanden i[].
Alle Eingaben sind natürliche Zahlen.
Die Liste i[] ist nicht sortiert.
Output:
Es sollen zwei Ausgaben getätigt werden:
1.: Das Programm soll eine weitere Liste zurückgeben, in der sich n Summanden aus i[] befinden, deren Summe s beträgt. Jeder Summand aus i[] darf nur einmal benutzt werden. Gibt es mehrere Möglichkeiten, so muss nur eine zurückgegeben werden. Die Ausgabeliste muss nicht sortiert werden.
2.: Gibt es keine Lösung - ob wegen zu kleiner Summandenliste oder unpassender Summanden -, so soll dies auch zurückgegeben werden. Zwischen den Fehlschlagsfällen muss nicht unterschieden werden. (Kurzum: ein Success-Boolean)
Außerdem soll die zurückgegebene Liste leer sein/bleiben, wenn es keine Lösung gibt.
Es muss keine Konsoleneingabe oder -ausgabe erfolgen, es geht allein um die Eingabe/Ausgabe im Code.
Beispiel:
Input:
s=18, n=5, i[]={ 4, 11, 1, 7, 3, 5, 2 }
Output:
true, { 2, 5, 3, 7, 1 }
Der Code muss in VB oder C# geschrieben werden.
Es geht in dieser Challenge nicht ausschließlich um den kürzesten Code. Es kann jeder beliebige Code eingereicht werden, ob er nun zur Kategorie kürzester/längster, am leichtesten/schwersten lesbarer, schönster/hässlichster oder effizientester/ineffizientester Code oder sonst was passt, steht jedem natürlich frei, auch sind mehrere Codes von einem Ersteller natürlich erlaubt und erwünscht!
Ich habe auch schon eine Lösung vorbereitet und werde sie später posten.
Fragen bitte immer stellen!
Viel Spaß an der Challenge!
lg SeriTools
Es geht im Grunde um das Spiel Shut The Box, auch bekannt als Klappenspiel, allerdings in etwas abgewandelter Form:
Input:
Das Programm bekommt als Input (in welcher Form ist egal, kann auch direkt im Code stehen) eine Summe s, die Anzahl der Summanden n und eine Liste von möglichen Summanden i[].
Alle Eingaben sind natürliche Zahlen.
Die Liste i[] ist nicht sortiert.
Output:
Es sollen zwei Ausgaben getätigt werden:
1.: Das Programm soll eine weitere Liste zurückgeben, in der sich n Summanden aus i[] befinden, deren Summe s beträgt. Jeder Summand aus i[] darf nur einmal benutzt werden. Gibt es mehrere Möglichkeiten, so muss nur eine zurückgegeben werden. Die Ausgabeliste muss nicht sortiert werden.
2.: Gibt es keine Lösung - ob wegen zu kleiner Summandenliste oder unpassender Summanden -, so soll dies auch zurückgegeben werden. Zwischen den Fehlschlagsfällen muss nicht unterschieden werden. (Kurzum: ein Success-Boolean)
Außerdem soll die zurückgegebene Liste leer sein/bleiben, wenn es keine Lösung gibt.
Es muss keine Konsoleneingabe oder -ausgabe erfolgen, es geht allein um die Eingabe/Ausgabe im Code.
Beispiel:
Input:
s=18, n=5, i[]={ 4, 11, 1, 7, 3, 5, 2 }
Output:
true, { 2, 5, 3, 7, 1 }
Der Code muss in VB oder C# geschrieben werden.
Es geht in dieser Challenge nicht ausschließlich um den kürzesten Code. Es kann jeder beliebige Code eingereicht werden, ob er nun zur Kategorie kürzester/längster, am leichtesten/schwersten lesbarer, schönster/hässlichster oder effizientester/ineffizientester Code oder sonst was passt, steht jedem natürlich frei, auch sind mehrere Codes von einem Ersteller natürlich erlaubt und erwünscht!
Ich habe auch schon eine Lösung vorbereitet und werde sie später posten.
Fragen bitte immer stellen!
Viel Spaß an der Challenge!
lg SeriTools
Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von „SeriTools“ ()