Tallying是一个简单的计数系统,可在基础5中使用。全世界使用了各种不同的计数系统,但是在大多数英语国家中使用的计数系统可能是最简单的-通过标记垂直线来计数单位,然后每个第5个标记在前面的四个集合中放置一条水平线。这会将计数标记分为5组(并使它们更容易快速计数)。
您将要编写一个程序,该程序显示到一个给定值的计数标记。但是,仅以5为基数就很无聊!因此,您的程序还应该能够显示不同基准的计数。
输入值
输入将是一个或两个用逗号分隔的非负整数值(例如9
或8,4
)。第一个数字是理货应显示的值。第二个值是计数的基础。如果未提供第二个值,请使用5为底。
输出量
输出将是输入的值,表示为ASCII艺术标记。这是一些示例,您可以根据这些示例测试程序-输出应与它们完全匹配!
输入:12
或12,5
| | | | | | | | | |
-+-+-+-+- -+-+-+-+- | |
| | | | | | | | | |
输入: 7,3
| | | | |
-+-+- -+-+- |
| | | | |
输入: 4,2
| |
-+- -+-
| |
输入:6,1
或6,10
(注意前导空格)
| | | | | |
| | | | | |
| | | | | |
另请注意,基数1旨在不一致-仅应使用垂直线。
如果两个输入值中的任何一个为0,则将不存在任何输出(并且程序应正常结束)。
规则
- 这是代码高尔夫球,因此最短的正确实现(以字节为单位)获胜。
- 输入/输出可以在任何合适的介质中(例如stdin / stdout,file ...)。
- 如果输入更适合您的目标语言,则输入可以采用多个命令行参数的形式,也可以用空格等分隔。
- 输出中允许尾随换行符。尾随空格不是。该规则仅在有输出时适用(即,在输入值为0时不适用)。
- 如果没有输入基数,则您的代码必须默认为基数5。
-+-
代表两个,因为其中有一条垂直线和一条水平线。基数1仅具有垂直线。@AndoDaan进行了修正。
--- --- --- --- --- ---
那么。为了与其他基准保持一致,您应该通过b-1
垂直线放置水平打击。如果打算不一致,则应明确声明。
6,1
看起来的输出不应该更像-+- -+- -+- -+- -+- -+-
吗?