背景
小时候,我被教导一种绘制奇怪的“ S”形的方法,使我(和同学们)着迷。今天,我重新发现了它,并且由于它采用公式化的方式绘制它,因此认为它可能会引发一个有趣的挑战:P
画“ S”
可以通过以下简单步骤绘制S:
首先,像这样绘制2行,每条垂直的三个直线
| | |
| | |
接下来,将左上方的线与底部的中线连接,并将上方的中线与右下方的线连接以产生
| | |
\ \
| | |
最后,在当前绘制的图像上绘制顶部和底部,使其最终看起来像
^
/ \
| | |
\ \
| | |
\ /
v
如您所见,这将导致“ S”形。但是,当扩展时(绘制超过2行),它会产生一个非常有趣的图案。您的任务是重现此有趣的模式。
任务
给定一个整数where n >= 2
,输出S及其n
要制成的行。输出可以从函数返回,输入可以采用标准方法。整个图像以及每行的尾随/前导空格都很好。但是,前导空格必须保持一致,以免破折号。您可以输出为行列表。
测试用例
input
output
---
2
^
/ \
| | |
\ \
| | |
\ /
v
---
8
^
/ \
| | |
\ \
| | |
\ \
| | |
\ \
| | |
\ \
| | |
\ \
| | |
\ \
| | |
\ \
| | |
\ /
v
---
10
^
/ \
| | |
\ \
| | |
\ \
| | |
\ \
| | |
\ \
| | |
\ \
| | |
\ \
| | |
\ \
| | |
\ \
| | |
\ \
| | |
\ /
v
这是一个代码高尔夫球,所以最短的代码胜出!祝好运,
S
将Cool S称为,并称其为无限版本S Chain