任务
在此挑战中,您的任务是绘制几叠高度递增的盒子的ASCII艺术作品。输入的堆栈数为正,是一个正整数。第一个堆栈包含一个size的框2x2
。第二个堆栈包含2个size的框3x3
。通常,第k
th个堆栈包含k
size的盒子(k+1)x(k+1)
。
每个框的边框都是使用字符绘制的-|+
,它们的内部由空格组成。相邻的框共享其边界,并且+
即使它们是另一个框的边界的一部分,也应始终使用绘制角。
例子
输出为1
:
++
++
输出为2
:
+-+
| |
+-+
++ |
++-+
输出为3
:
+--+
| |
| |
+--+
| |
+-+ |
| +--+
+-+ |
++ | |
++-+--+
输出为5
:
+----+
| |
| |
| |
| |
+----+
| |
| |
| |
+---+ |
| +----+
| | |
| | |
+---+ |
| | |
| +----+
+--+ | |
| +---+ |
| | | |
+--+ | |
| | +----+
+-+ +---+ |
| +--+ | |
+-+ | | |
++ | | | |
++-+--+---+----+
规则和计分
可以从STDIN接收输入,作为命令行参数或函数参数。输出必须转到STDOUT或最接近的等效输出。允许任何数量的尾随空格,以及前后换行符一样,但不能有任何多余的前置空格。
这是代码高尔夫球,因此最低字节数为准。不允许出现标准漏洞。
Integer.MaxValue
作为输入。
Integer.MaxValue
或相等。
n
以及n-1
相对而言是最优质的。两个优点永远不会重叠。