Programmieraufgabe 89

So, die erste Schulwoche ist vorüber und nächste Woche bin ich 1 Woche auf Fortbildung zum Thema “Netzwerksicherheit und Datenschutz”. Nachdem wir nun den zweiten iPad-Koffer haben, muss möchte ich mich da einfach fortbilden, um nicht irgendwelche Fallen und Probleme zu übersehen. Regelmäßig SemperVideo zu schauen, hilft zwar, aber ich möchte noch mehr zum Themenbereich Schule wissen.

Damit meine elfte Klasse die Zeit solange nutzen kann, habe ich ihnen die erste Junioraufgabe des aktuellen Bundeswettbewerbs Informatik gegeben: Die Luftballonverpackungsmaschine.

Aufgabe

Aus 10 Fächern, in denen zufäälig zwischen 2  und 20 Luftballons liegen, sollen soviele Fächer ausgewählt werden, dass die Summe möglichst 20 ergibt. Ist 20 nicht möglich, so sollen es möglichst wenige Luftballons sein.

Die Mindestanzahl von 2 ist meine Anpassung, um den Fall, dass sich nicht mindestens 20 Luftballons bilden lassen, auszuschließen. Das halte ich in der Realität zwar für unwahrscheinlich, aber halt nicht für unmöglich. Aber die Aufgabe bezieht sich auf das Öffnen der richtigen Fächer und nicht auf das sinnvolle Befüllen.

Ausnahmsweise habe ich die Lösung schon mal programmiert (Dauer 30 Minuten für einen simplen Ansatz; ca. 2 Stunden für eine komplexere Lösung). Die Ergebnisse sehen dann bei mir so aus:

    Fächer: 20 7 11 16 7 7 10 11 17 10 
    Es lässt sich bilden: 20
    Nach der Entnahme: 0 7 11 16 7 7 10 11 17 10

Oder auch so:

    5 18 11 16 7 7 18 11 17 9 
    20
    5 18 0 16 7 7 18 11 17 0

Hier wurde nun das dritte und letzte Fach kombiniert,

Leider darf ich keinen Lösungshinweis geben. Ich werde aber, wenn es dann irgendwann erlaubt ist und ich es bis dahin nicht vergessen habe, eine Lösung präsentieren.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Durch die weitere Nutzung der Seite (Scrollen, Navigieren) stimmen Sie der Verwendung von Cookies zu. Weitere Informationen

Die Cookie-Einstellungen auf dieser Website sind auf "Cookies zulassen" eingestellt, um das beste Surferlebnis zu ermöglichen. Wenn du diese Website ohne Änderung der Cookie-Einstellungen verwendest oder auf "Akzeptieren" klickst, erklärst du sich damit einverstanden.

Schließen