首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >向更大的荣耀前进!

向更大的荣耀前进!
EN

Code Golf用户
提问于 2018-11-14 07:42:22
回答 10查看 2.1K关注 0票数 15

愿这一挑战成为(另一个)对95岁去世的斯坦·李的致敬。

斯坦·李给我们留下了宝贵的遗产和一个奇特的词汇:精益求精。因此,基于他所说的这就是它的意义,这里有一个小小的挑战:

最后,“精益求精”是什么意思?“向更大的荣耀前进!”每当我完成推特时,我都希望你如此!精练!

挑战

给定一系列非负整数,每次整数大于前一个整数时,都用Excelsior!输出一行。

规则

  • 输入将是一个非负整数数组.
  • 输出将由包含单词Excelsior (大小写确实重要)的行组成,后面跟着的!将与当前运行的长度越来越大的数字一样多。还可以返回字符串数组。
  • 根据网站规则,输入和输出格式是灵活的,因此可以随意地将它们调整为您的语言格式。如果需要,还可以在行尾添加空格,甚至可以在文本后面或之前添加额外的新行。

示例

代码语言:javascript
运行
复制
Input             Output
-----------------------------------
[3,2,1,0,5]       Excelsior!      // Excelsior because 5 > 0

[1,2,3,4,5]       Excelsior!      // Excelsior because 2 > 1
                  Excelsior!!     // Excelsior because 3 > 2 (run length: 2)
                  Excelsior!!!    // Excelsior because 4 > 3 (run length: 3)
                  Excelsior!!!!   // Excelsior because 5 > 4 (run length: 4)

[]                <Nothing>

[42]              <Nothing>

[1,2,1,3,4,1,5]   Excelsior!      // Excelsior because 2 > 1
                  Excelsior!      // Excelsior because 3 > 1
                  Excelsior!!     // Excelsior because 4 > 3 (run length: 2)
                  Excelsior!      // Excelsior because 5 > 1

[3,3,3,3,4,3]     Excelsior!      // Excelsior because 4 > 3

这是密码-高尔夫,所以希望每种语言的最短代码都能赢!

EN

回答 10

Code Golf用户

发布于 2018-11-14 21:55:03

R,86字节

这个答案的一半是@Giuseppe的。

代码语言:javascript
运行
复制
function(a)for(i in diff(a))"if"(i>0,cat("Excelsior",rep("!",F<-F+1),"
",sep=""),F<-0)

在网上试试!

票数 4
EN

Code Golf用户

发布于 2018-11-14 14:31:48

通用Lisp,111个字节

代码语言:javascript
运行
复制
(setq i 0)(loop for(a b)on(read)do(incf i(if(and b(> b a))1(- i)))(format(> i 0)"Excelsior~v@{~a~:*~}~%"i #\!))

在网上试试!

票数 3
EN

Code Golf用户

发布于 2018-11-14 20:31:53

斯塔克斯,17 字节数

代码语言:javascript
运行
复制
Θx7├╖&σ '@7g┼┘Ñ«═

运行并调试它

票数 3
EN
页面原文内容由Code Golf提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://codegolf.stackexchange.com/questions/175918

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档