언어의 피라미드


15

가능한 한 많은 프로그래밍 언어로 실행 또는 컴파일되고 이전 및 현재 프로그래밍 언어의 줄 바꿈으로 구분 된 이름 목록을 인쇄하는 코드를 작성하십시오.

  • 사용 된 모든 언어의 이름은 이전보다 1 자 더 길어야합니다. 전의. C#, C++, Ruby, Jelly, Python...
  • 각 언어는 줄 바꿈으로 구분 된 언어 이름 목록을 길이별로 정렬해야합니다.
    • 출력은 피라미드 여야합니다. 이 목록에는 사용중인 언어 이름 만 포함 할 수 있으며 실행중인 스크립트 언어 이름 + 실행중인 스크립트 언어 이름보다 짧은 것입니다.
  • 선행 및 후행 줄 바꿈이 허용됩니다.
  • 표준 허점 은 금지되어 있습니다.
  • 점수를 높이기 위해 맞춤 프로그래밍 언어를 만들 수 없습니다.
  • 버전 번호는 언어 이름에 포함되지 않지만 새 버전의 언어에 호환되지 않는 변경 사항이있는 경우 게시물에 지정할 수 있습니다.
  • 언어 이름 바로 가기를 사용할지 아니면 전체 이름을 사용할지 결정할 수 있지만 두 가지 양식을 한 번에 제출할 수는 없습니다. ex를 사용할 수 있습니다. 하나 SPL또는Shakespeare 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가 있습니다.
Lynn

@Lynn 그러나 더 긴 언어 이름에서 시작하면 점수를 잃을 수 있습니다.
RedClover

답변:


19

10 개 언어 C , rk , > <> , Rail , Width , Gol> <> , Fission , Cardinal , brainfuck , Befunge-98 , 991 bytes

//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 바이트는 단지 brainfuck 코드입니다. Befunge-98 프로그램은 다음을 생성합니다.

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

? puts대신에 2 바이트를 절약 할 수 없습니다 printf.
Neil

@ 닐 감사합니다! (이전에 C에서 골프를 타 본 적이 없다 (일부는 아직하지 않았다고 말함))
Jo King

2
좋은! 다음 에 괄호 를 추가하는 방법을 살펴 보겠습니다. 모든 것을 무시 (하고 ), 쉽게 파쇄 할 수 있습니다.
Lynn

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

온라인으로 사용해보십시오!


나는 이것이 코드 골프 도전이 아니라는 것을 알고 있지만 1 바이트를 저장하기 위해 Nafter "Fission"를 제거 할 수 있습니다 . :)
Kevin Cruijssen

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.