Tallying ist ein einfaches Zählsystem, das in Basis 5 funktioniert. Es gibt verschiedene Zählsysteme auf der ganzen Welt, aber dasjenige, das in den meisten englischsprachigen Ländern verwendet wird, ist vielleicht das einfachste - Zählen von Einheiten durch Markieren vertikaler Linien, z Mit jeder fünften Markierung wird eine horizontale Linie durch die vorherige Vierergruppe gezogen. Dies gruppiert die Zählmarken in Gruppen von 5 (und erleichtert das schnelle Zählen).
Sie werden ein Programm schreiben, das Strichzahlen bis zu einem bestimmten Wert anzeigt. Aber es ist langweilig, nur in Basis 5 zu zählen! Daher sollte Ihr Programm auch in der Lage sein, Zahlen in verschiedenen Basen anzuzeigen.
Eingang
Die Eingabe besteht entweder aus einem oder zwei nicht negativen Ganzzahlwerten, die durch ein Komma (z . B. 9
oder 8,4
) getrennt sind. Die erste Zahl ist der Wert, der von der Zählung angezeigt werden soll. Der zweite Wert ist die Basis der Abrechnung. Wenn der zweite Wert nicht angegeben wird, verwenden Sie Basis 5 .
Ausgabe
Die Ausgabe ist der eingegebene Wert, der als ASCII-Art-Tally-Markierungen dargestellt wird. Hier sind einige Beispiele, mit denen Sie Ihr Programm testen können - Ihre Ausgabe sollte genau mit ihnen übereinstimmen!
Eingabe: 12
oder12,5
| | | | | | | | | |
-+-+-+-+- -+-+-+-+- | |
| | | | | | | | | |
Eingang: 7,3
| | | | |
-+-+- -+-+- |
| | | | |
Eingang: 4,2
| |
-+- -+-
| |
Eingabe: 6,1
oder 6,10
(beachten Sie die führenden Leerzeichen)
| | | | | |
| | | | | |
| | | | | |
Beachten Sie auch, dass Basis 1 inkonsistent sein soll - nur vertikale Linien sollten verwendet werden.
Wenn einer der eingegebenen Werte 0 ist, sollte überhaupt keine Ausgabe erfolgen (und Ihr Programm sollte ordnungsgemäß beendet werden).
Regeln
- Das ist Code-Golf , also gewinnt die kürzeste korrekte Implementierung (in Bytes).
- Die Ein- / Ausgabe kann auf jedem geeigneten Medium erfolgen (z. B. stdin / stdout, file ...).
- Die Eingabe kann in Form mehrerer Befehlszeilenargumente oder durch Leerzeichen usw. getrennt erfolgen, wenn dies für Ihre Zielsprache besser geeignet ist.
- Nachgestellte Zeilenumbrüche sind in der Ausgabe zulässig. Nachgestellte Leerzeichen gibt es nicht. Diese Regel gilt nur, wenn eine Ausgabe vorliegt (dh nicht, wenn der eingegebene Wert 0 ist).
- Ihr Code muss standardmäßig auf Basis 5 eingestellt sein, wenn keine Basis eingegeben wird.
-+-
würde zwei darstellen, weil es eine vertikale Linie und eine horizontale Kerbe durch sie gibt. Basis 1 würde nur vertikale Linien haben. @AndoDaan gebessert.
--- --- --- --- --- ---
dann. Um die Übereinstimmung mit den anderen Basen zu b-1
gewährleisten, sollten Sie einen horizontalen Strich durch die vertikalen Linien machen. Wenn es inkonsistent sein soll, sollten Sie dies explizit angeben.
6,1
eher so aussehen-+- -+- -+- -+- -+- -+-
?