感谢@KritixiLithos 帮助我解决了这一挑战!
V是我编写的一种编程语言,因此我可以使用vim并将其扩展到代码高尔夫球挑战中。第一次提交是在2016年3月3日,这意味着今天V已满一岁!呜呼
在V成立的第一年,来自四个不同贡献者的176次提交,来自12个不同用户的140个答复以及太多重复的重复运算符无法计数。它有一个在线解释器,由@Dennis慷慨托管,自12月以来已运行了近8000次。
让我们来挑战庆祝V的生日吧!由于V中的大多数功能在设计时都考虑了字符串操作和ascii-art,因此,庆祝V的任何挑战都应该与ascii艺术有关,这似乎很自然。因此,您今天面临的挑战是将一个单词用作输入,然后将该单词重塑为V形。例如,输入“ Hello”应给出以下V:
Hello olleH
Hello olleH
Hello olleH
Hello olleH
Hello olleH
HellolleH
HellleH
HeleH
HeH
H
以下是有关您的V外观的一些详细信息。如果输入字符串的长度为n个字符,则V应为多n*2
行。第一行应包括:
<input string><(n*2) - 1 spaces><input string reversed>
在每一行中,在开头添加一个空格,并且字符串的两侧彼此相对移动,从而删除所有重叠的字符。直到最后一行,这只是输入的第一个字符。每行尾随空格都是可以接受的,尾随换行符也是允许的。
您可以假定输入将始终是可打印的ASCII,且其中没有任何空格,并且可以采用任何合理的方法进行输入和输出。以下是一些示例输入:
Happy:
Happy yppaH
Happy yppaH
Happy yppaH
Happy yppaH
Happy yppaH
HappyppaH
HapppaH
HapaH
HaH
H
Birthday:
Birthday yadhtriB
Birthday yadhtriB
Birthday yadhtriB
Birthday yadhtriB
Birthday yadhtriB
Birthday yadhtriB
Birthday yadhtriB
Birthday yadhtriB
BirthdayadhtriB
BirthdadhtriB
BirthdhtriB
BirthtriB
BirtriB
BiriB
BiB
B
V!:
V! !V
V! !V
V!V
V
~:
~ ~
~
当然,由于这是代码高尔夫球,因此禁止了标准漏洞,并且您的目标是编写可能最短的程序来完成此任务。打高尔夫球快乐!
对于它的价值,我对vim回答很情有独钟,因此使用vim或V可以得到假想的加分,尽管任何语言都是可以接受的。:)