Saw the Stick
Ein ungeheuer großer junger Hund sah mit seinen hervorstehenden runden Augen auf sie herab und machte einen schwachen Versuch, eine Pfote auszustrecken und sie zu berühren. »Armes kleines Ding!« sagte Alice in liebkosendem Tone, und sie gab sich alle Mühe, ihm zu pfeifen; dabei hatte sie aber große Angst, ob er auch nicht hungrig wäre, denn dann würde er sie wahrscheinlich auffressen trotz allen Liebkosungen.
Ohne recht zu wissen was sie that, nahm sie ein Stäbchen auf und hielt es ihm hin; worauf das ungeschickte Thierchen mit allen vier Füßen zugleich in die Höhe sprang, vor Entzücken laut aufbellte, auf das Stäbchen losrannte und that, als wolle es es zerreißen;...
Mein Fund, ein Stock, er wog 2 Pfund:
Eines Tages, ich zersägte ihn
Acht Stück von gleich Gewicht!
Wieviel wiegte ein jedes noch?
(Jeder der sagt, "ein Viertelpfund", liegt falsch.)
"Alice im Wunderland der Rätsel ." Lewis Carroll
Freie Übersetzung
Die Roboter wollen den Stock in mehrere Stücke sägen. Die Länge des Stocks ist N Zoll. Wir sollten unseren Robotern dabei helfen. Jedes Stück muss eine ganzzahlige Länge aufweisen (1, 2, 3 .. Zoll, nicht 1.2). Wir lieben Zahlenreihen und speziell die ( Dreieckszahlen ), also sollst Du den Stock so zersägen, dass die resultierenden Längen eine fortlaufende Serie der Dreieckszahlen bilden. Wähle immer die maximale Größe (Länge der Reihe). Alle Teile müssen verschiedene Längen haben (keine Wiederholung). Zum Beispiel: 64 soll in 15, 21, 28 geteilt werden, da 28, 36 kürzer ist, und 1, 3, 15, 45 keine fortlaufende Reihe bildet.
Gegeben ist die Länge des Stocks (N). Deine Lösung soll eine Liste mit Längen der Teile in aufsteigender Folge zurückgeben. Wenn es nicht möglich ist, also das Problem keine Lösung hat, dann gib eine leere Liste zurück.
Eingabe: Die Länge des Stockes als Ganzzahl.
Ausgabe: Ein Ausschnitt der Dreieckszahlen als Liste von Ganzzahlen (aufsteigend sortiert) oder eine leere Liste.
Beispiel:
checkio(64) == [15, 21, 28] checkio(371) == [36, 45, 55, 66, 78, 91] checkio(225) == [105, 120] checkio(882) == []
Wozu das gut ist:
In dieser Aufgabe lernst Du etwas über Dreieckszahlen.
Die Anzahl der Steine, die man zum Legen eines gleichseitigen Dreiecks benötigt,
entspricht immer einer Dreieckszahl.
Das ist eine interessante Sequenz mit vielen Anwendungen.
Dazu ein Beispiel aus der realen Welt:
In kompetitiven Sportarten, die als Rundenturnier ausgetragen werden, ist
die Nummer der Begegnungen zwischen n Teams gleich der Dreieckszahl T
n−1
.
Zum Beispiel benötigt ein Gruppenspiel mit 4 Teams 6, und eines mit 8 Teams 28 Spiele.
Bedingung: 0 < length < 1000
CheckiO Extensions allow you to use local files to solve missions. More info in a blog post.
In order to install CheckiO client you'll need installed Python (version at least 3.8)
Install CheckiO Client first:
pip3 install checkio_client
Configure your tool
checkio --domain=py config --key=
Sync solutions into your local folder
checkio sync
(in beta testing) Launch local server so your browser can use it and sync solution between local file end extension on the fly. (doesn't work for safari)
checkio serv -d
Alternatevly, you can install Chrome extension or FF addon
checkio install-plugin
checkio install-plugin --ff
checkio install-plugin --chromium
Read more here about other functionality that the checkio client provides. Feel free to submit an issue in case of any difficulties.
Welcome to Pair Programming! Engage in real-time collaboration on coding projects by starting a session and sharing the provided unique URL with friends or colleagues. This feature is perfect for joint project development, debugging, or learning new skills together. Simply click 'Start Session' to begin your collaborative coding journey!
You are trying to join a pair programming session that has not started yet.
Please wait for the session creator to join.
It looks like the creator of the pair programming session closed the editor window.
It might happen accidentally, so that you can wait for reconnection.