背景故事
免责声明:可能包含有关袋鼠的虚假信息。
袋鼠穿越了几个发展阶段。随着年龄的增长和力量的增强,他们可以跳得更高和更长,并且在饥饿之前可以跳更多次。
在第1阶段,袋鼠很小,根本无法跳跃。尽管如此,还是不断需要营养。我们可以这样表示第1阶段袋鼠的活动模式。
o
在第2阶段,袋鼠可以跳一点,但饿之前不能超过2跳。我们可以代表一个阶段2这样袋鼠的活动模式。
o o
o o o
在第2阶段之后,袋鼠会迅速改善。在随后的每个阶段中,袋鼠都可以跳得更高一点(在图形表示中为1个单位),并且是原来的两倍。例如,第3阶段袋鼠的活动模式如下所示。
o o o o
o o o o o o o o
o o o o o
对于阶段n,活动模式由高度为n的2 n-1个 V形跳跃组成。
例如,对于阶段4,有8个高度4的跳跃。
o o o o o o o o
o o o o o o o o o o o o o o o o
o o o o o o o o o o o o o o o o
o o o o o o o o o
任务
编写一个完整的程序或函数,以正整数n作为输入并打印或返回阶段n袋鼠活动模式的ASCII艺术表现形式。
只要模式看起来与上面描述的完全一样,就可以使用周围的空格和ANSI转义码。
如果选择返回输出的函数,则它必须返回单个字符串或字符数组,该字符串或字符数组在打印时将显示正确的输出。不允许返回字符串数组。
您可以使用任何可打印的非空格字符代替o
,只要它在活动模式中和答案中所有模式中都一致即可。
这是代码高尔夫球;以字节为单位的最短答案可能会获胜!
o
。您还可以使用任何字符来表示空格吗(只要它们不同?)?