Saw the Stick Saw the Stick
Elementary+
German JA EN

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.

sawing sawing

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

You should be an authorized user in order to see the full description and start solving this mission.
Settings
Code:
CheckiO Extensions

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.

×
 
 
<< <
> >>
exec

Whats Next?

Free accounts will see Best CheckiO solutions with some delay.
Best Solutions will be opened in
Become Awesome and Don't wait
The next stage is ""
Will be activated in
View More Solutions Random Review Solutions Share your own solution
Go to the next mission Back to the list of missions Back to the map