R,88 86字节
cat(intToUtf8(rbind(diffinv(matrix(c(66,-32,-31),25,5,T)[,1:3],,,t(c(32,65,97))),10)))
在线尝试!
R在字符串处理方面很糟糕,尽管它内置了一些简洁的矩阵,但是旋转并不是一件容易的事。我会很高兴地向任何能够在R中打高尔夫球的人提供赏金。
尽管我找到了一个较短的答案,但我仍然会向第一个少于88个字节的R答案奖励50 rep赏金。
我想,如果可以的话,我会奖励自己,但这比“无聊”的答案短了整整两个字节!我仅通过使用R的倾角回收来避免旋转。
编辑:user2390246的答案完全超出了我,我将奖励100分的赏金,因为该解决方案优越得多。
为了到达这里,我使用utf8ToInt
(删除了换行符)将所需的输出解构为它们的ASCII码点,构建了一个矩阵,并在它们diff
上运行以获取列差异。注意到那里的周期性,我着手以高尔夫球的方式构造矩阵,希望diffinv
用于重新创建原始矩阵。
由于具有周期性,我们可以diff
通过强制R以非整数长度循环来重新创建ed矩阵,并提取我们实际想要的列:
matrix(c(66,-32,-31),25,5,T)[,1:3]
然后,我们反转此过程,diffinv
以重新创建代码点,10
在底部添加一行(换行符)intToUtf8
,并使用,和cat
结果将其转换为ASCII 。