在此挑战中,您必须显示给水气球所填充的水量的ASCII艺术形式:
| __||__ |
| / # #\ |
| |######| |
| |######| |
| |######| |
| |######| |
| |######| |
| \######/ |
| |
| |
+----------+
如何画气球
要显示大小气球n
,请按照以下步骤操作(注意:每当使用除法符号(/
)时,它将表示整数除法,向下取整):
绘制一个容器,该容器包含左右十个竖线(
|
),-
底部十个破折号()和+
左下角和右下角的加号()。这使整个事情变成12x11,“内部”变成10x10。| | | | | | | | | | | | | | | | | | | | +----------+
绘制两个垂直条(气球的开口),它们居中位于第一行的中间,并在两侧
n/2
各有一个下划线(_
)(对于此示例,n
将为5):| __||__ | | | | | | | | | | | | | | | | | | | +----------+
在此顶行(下方一行)周围画一个斜杠(
/
)和一个反斜杠(\
):| __||__ | | / \ | | | | | | | | | | | | | | | | | +----------+
绘制一
n
排等距的竖线,然后绘制一对(仍等距)反斜杠和斜杠的一行:| __||__ | | / \ | | | | | | | | | | | | | | | | | | | | | | \ / | | | | | +----------+
用水“填充”气球,由井号(
#
)表示。从最低的行开始,然后向上工作。如果一行未完全填充,则可以将井号放置在所需的任何位置(在下面的示例中,井号是随机放置的,但是如果需要,可以将其全部放在左侧)。| __||__ | | / # #\ | | |######| | | |######| | | |######| | | |######| | | |######| | | \######/ | | | | | +----------+
最大值n
为7,最小值为0。
输入值
输入将是一个整数i
,它是必须绘制的哈希标记(水)的数量。
它永远不会小于2或大于100。
输出量
输出应该是一个n
包含i
哈希标记(水的单位)的气球,这里n
是可以容纳i
水的单位的最小尺寸。由于i
将始终为2或更大,因此n
将始终为0或更大。
可以绘制气球的最大大小为n
=7。如果尺寸7的气球无法容纳指定的水量,则气球弹出:
| |
| |
|## # ###|
|##########|
|##########|
|##########|
|##########|
|##########|
|##########|
|##########|
+----------+
(上面应该是输入i
= 76 的输出。就像未弹出的气球一样,也可以根据需要安排第一行的六个额外水位。)
测试用例
当可以全部使用一个测试用例时,为什么要使用呢?
这是i
2到100 的所有输入的动画GIF :
计分
这是code-golf,因此以字节为单位的最短代码获胜。