Balanceakt
Überblick
Bei einer Eingabe von 3 einstelligen positiven Ganzzahlen, die einen Satz von Gewichten darstellen, geben Sie eine ASCII-Darstellung einer Wippe mit den darauf platzierten Gewichten aus, sodass sie um einen zentralen Drehpunkt herum im Gleichgewicht ist, wobei Hebeleffekte berücksichtigt werden.
Jede Zahl hat ein Gewicht, das ihrem Wert entspricht. Das Drehmoment jeder Zahl ist das Gewicht multipliziert mit dem Abstand von der Mitte in Zeichen. Für die Wippe im Gleichgewicht zu sein, wie die Summe Drehmoment der Gewichte auf der linken Seite der Wippe müssen die derjenigen , auf der rechten Seite gleich, dies .
Eingang
3 ganze Zahlen im Bereich von 1-9. Sie können die Ganzzahlen bequem eingeben, z. B. ein Tupel, 3 durch Kommas getrennte Werte usw. Ihr Programm muss jedoch in der Lage sein, die eingegebenen Zahlen in beliebiger Reihenfolge zu verarbeiten (dh es muss nicht davon ausgegangen werden, dass die Werte sortiert werden). Es können doppelte Zahlen eingegeben werden (zB 2,3,2).
Die Eingaben lassen mathematisch immer eine gültige Ausgabe zu, andernfalls ist die Eingabe ungültig.
Ausgabe
Die Ausgabe sollte eine 2-zeilige ASCII-Darstellung der Wippe mit den darauf platzierten Gewichten sein. In der ersten Zeile stehen die Ziffern, um sie auf der Wippe auszugleichen.
Zahlen dürfen nicht genau in der Mitte der Skala platziert werden, wo der Abstand und damit das Drehmoment Null wäre. Gültige Abstände vom Mittelpunkt liegen zwischen 1 und 10 Zeichen links oder rechts vom Drehpunkt.
In den von den Zahlen nicht belegten Feldern stehen 18 Unterstriche (ein mittlerer Unterstrich und 10 auf jeder Seite abzüglich der 3 von den Zahlen belegten Stellen). In der letzten Zeile befindet sich ein einzelnes Caret-Zeichen, das an der Mitte der Skala ausgerichtet ist und den Drehpunkt darstellt.
Beispiele
Eingang:
4,7,2
Ausgabe:
________7___42_______
^
7 * 2 = 4 * 2 + 2 * 3
Zahlen können auf beiden Seiten ausgegeben werden, zum Beispiel wäre dies auch gültig:
_______24___7________
^
2 * 3 + 4 * 2 = 7 * 2
Zahlen können an einer beliebigen Stelle auf der Skala platziert werden, solange sie ausgeglichen sind, z. B .:
Eingang:
3,1,5
Ausgabe:
_____5________1__3___
^
5 * 5 = 1 * 4 + 3 * 7
oder
____5________1_____3_
^
5 * 6 = 1 * 3 + 3 * 9
oder
____5___________1_3__
^
5 * 6 = 1 * 6 + 3 * 8
etc
Ihr Programm muss nur eine der gültigen Ausgaben ausgeben. Es muss kein Fehler ausgegeben werden, wenn die Eingabe ungültig ist.
Anmerkungen
- Das ist Code-Golf, also gewinnt das kürzeste Programm in Bytes
- Das Programm kann ein eigenständiges Programm oder eine Funktion sein, die die Zahlen als Eingabe akzeptiert und eine Zeichenfolge zurückgibt.
- Das Nachziehen von Zeilenumbrüchen und Leerzeichen in der letzten Zeile ist optional
- Wenn Sie nicht wissen, was eine Wippe ist, wird sie auch als Wippe oder Wippe bezeichnet.