语言金字塔


15

编写代码,以尽可能多的编程语言运行或编译,并打印以换行符分隔的先前和当前编程语言名称的列表。

  • 每种使用的语言的名称都必须比以前的名称长1个字符;例如 C#C++RubyJellyPython...
  • 每种语言都必须输出用换行符分隔的语言名称列表,并按长度排序。
    • 输出必须为金字塔:列表只能包含使用的语言名称,该名称要比运行脚本语言名称+运行脚本语言名称短。
  • 允许使用换行符开头和结尾。
  • 禁止出现标准漏洞
  • 不允许仅仅为了增加分数而创建自定义编程语言。
  • 版本号不计入语言名称,但是如果该语言的新版本中存在任何不兼容的更改,则可以在帖子中指定版本号。
  • 您可以决定是要使用快捷方式来表示语言名称还是使用全名,但是您不能在一个答案中同时提交这两种形式。您可以使用ex。无论是SPLShakespeare Programming Language
    • 语言名称长度中仅包括字母,数字,ASCII符号和单个空格(不包括开头和结尾)。

例子

C,C#和C ++的示例输出:

C

C

C#

C
C#

C++

C
C#
C++


1
有很多带有单字母名称的语言:单独的tio.run有4、7,C,D,I,J,K,M,R和V。(另一个重要的字母是B,它是C的前身。)
林恩

@Lynn但是,如果您使用更长的语言名称,则可能会失去分数
RedClover

Answers:


19

10种语言Crk> <>RailWidthGol> <>裂变基数BrainfuckBefunge- 98,991字节

//Q rk:start print: "C^nrk" rk:end @,k*97C'a"rk"a"><>"a-1"Sail"a"Width"a"Gol><>"a"Fission"a"Cardinal"a"brainfuck"a"Befunge-98"
main(){puts("C");}
/*
$'main'
 \-[C\n\rk\n\><>\n\Rail]o

++++[++++>---<]>.>++++++++++.[------->+++<]>.-------.>++++++++++.[->++++++<]>++.--.++.>++++++++++.>-[--->+<]>---.[------>+<]>--.++++++++.+++.>++++++++++.[------>+<]>.+++[->++++<]>+.-----.--[--->+<]>--.------------.>++++++++++.[->+++++++<]>+.[--->+<]>++.---.--[->+++<]>.--.++.>++++++++++.[->+++++++<]>.[-->+++<]>.++++++++++..----------.++++++.-.>++++++++++.+[->++++++<]>+.-[-->+++<]>--.--[--->+<]>---.--------------.+++++.+++++.-------------.+++++++++++.>++++++++++.+[--->++++<]>--.[--->+<]>----.+++[->+++<]>++.++++++++.+++++.--------.-[--->+<]>--.+[->+++<]>+.++++++++.
R"C"N"rk"N"><>"N'S_!"ail"N"Width"N"Gol><>"N"Fission"*
/"><>krC"oaoooaooooE ao'liaR>'~ooooaoS"Width"aoS"Gol><>"; QQaAWAmcOAWAaicmaiWAAiwAOaOwWAAAOawmmFOcQww
 %"C"++++++++++,"rk","><>",=--t++,"ail"~,"Width","Gol><>","Fission","Cardinal"
 */

在线尝试!

568字节只是脑子代码。Befunge-98程序产生:

C
rk
><>
Rail
Width
Gol><>
Fission
Cardinal
brainfuck
Befunge-98

您不能使用puts代替保存2个字节printf吗?
尼尔,

@尼尔谢谢!(以前没有在C中打高尔夫球(有人说我还没有打过高尔夫球))
Jo King

2
真好!接下来,我会考虑添加括号 -它会忽略除(和之外的所有内容),从而使其易于使用。
林恩

9

7种语言(J,es,zsh,Bash,Straw,Retina,Fission),222个字节

echo 'J'
#0 : 0
echo es #(10)#»:::J>>(es)>>(zsh)>>(Bash)>>(Straw)>>
(echo zsh;)
if [[ $BASH_VERSION ]]; then echo Bash; fi
#              ;R"J"N"es"N"zsh"N"Bash"N"Straw"N'Q+!"etina"N"Fission"N;
K`J¶es¶zsh¶Bash¶Straw¶Retina

在线尝试!


我知道这不是代码挑战,但是您可以删除 N after "Fission"以节省1个字节。:)
Kevin Cruijssen

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.