Warum ein Simulator?
Kinder haben heutzutage weder die Zeit noch den Ehrgeiz, Kisten auf der Wippe zu stapeln oder mit balancierenden Gegenständen herumzuspielen. Dies lässt auf dem Softwaremarkt viel Platz für einen Hebel-Simulator, der sich nach meinen Modellen wie verrückt verkaufen wird!
Programmierhilfe gesucht
Ich habe ein Patent für ein solches Spiel angemeldet (anhängig), benötige aber einen erfahrenen Programmierer, um die Spielelogik für mich zu schreiben. Nach meinem Verständnis ist es üblich, Programmierer basierend auf der Größe des endgültigen Programms in Bytes zu kompensieren . Als solches werde ich diesen lukrativen Auftrag an den niedrigsten Bieter vergeben.
Spezifikation
Ein Hebel ist eine Reihe von Kisten oder leeren Räumen, die durch einen Drehpunkt ausgeglichen werden. Jede Box hat ein bestimmtes Gewicht von eins bis neun und Leerzeichen haben kein Gewicht. Wie Sie wissen, ist das Gewicht einer Box auf dem Hebel direkt proportional zum Abstand dieser Box vom Drehpunkt. Eine Gewichtskiste 4
, die sich auf dem dritten Raum vom Drehpunkt befindet, trägt 12
wirksame Krafteinheiten zu dieser Seite des Hebels bei.
Ich brauche ein Programm, das bei gegebenem Eingabehebel ausgibt, ob der Hebel nach links, rechts oder perfekt ausbalanciert ist.
I / O-Richtlinien
- Du wirst für mich ein Programm schreiben.
- Die Eingabe enthält eine Textzeile.
- Die Eingabe kommt von
stdin
oder als eine Befehlszeilenzeichenfolge. - Boxen werden durch die Zeichen '
1
' bis '9
' dargestellt. Diese Zeichen repräsentieren ihre jeweiligen Gewichte. Ein leerer Raum wird durch ein Leerzeichen '' dargestellt. Der Drehpunkt wird durch ein Caret '
^
' dargestellt.
Ein Beispieleingabehebel könnte folgendermaßen aussehen: 8 2^ 941
Dieser Hebel ist perfekt ausbalanciert: (4*8) + 0 + 0 + (1*2) == 0 + (2*9) + (3*4) + (4*1) == 34
- Es gibt keine führenden oder nachfolgenden Leerzeichen. Es wird keine nachgestellte Newline geben.
- Es ist nicht erforderlich, fehlerhafte Eingaben zu verarbeiten. Die Eingabe hat immer genau einen Drehpunkt und nur Zahlen und Leerzeichen.
- Der Ausgang zeigt an, ob der Hebel links schwer, rechts schwer oder ausgeglichen ist.
- Ihr Programm muss genau 3 mögliche Ausgaben haben, die sich aus einer wohlgeformten Eingabe ergeben könnten. Sie können wählen, was diese sind.
- Die Ausgabe muss entweder auf
stdout
den Rückgabecode des Programms oder auf den Rückgabecode des Programms lauten.
Testfälle
Hier verwende ich L
, R
, B
bedeuten links schweren rechten schwer, ausgewogen:
Eingabe:
11 ^9
Ausgabe:B
Eingabe:
321^ 12
Ausgabe:L
Eingabe:
9^ 1
Ausgabe:R
(Wenn jemand "kniffligere" Testfälle hat, können Sie diese gerne bearbeiten.)
Literaturverzeichnis
Nicht unbedingt inspiriert, aber mit Balance verbunden, eine Reihe von Gewichten auf einer Wippe
^16
, 16^
oder ^
? (Angenommen, es kann)
The output must either be print to stdout or be the return code of the program.
Nun, jetzt fordern Sie mich auf, eine Linux-Distribution zu erstellen, die die Wippe-Notation für Exit-Codes verwendet.