พีระมิดแห่งภาษา


15

เขียนโค้ดที่รันหรือคอมไพล์ในภาษาการเขียนโปรแกรมให้ได้มากที่สุดและพิมพ์รายการที่คั่นด้วยบรรทัดใหม่ของชื่อภาษาการเขียนโปรแกรมก่อนหน้าและปัจจุบัน

  • ทุกภาษาที่ใช้ต้องมีชื่อยาวกว่า 1 ตัวอักษรก่อนหน้า อดีต C#, C++, Ruby, Jelly, Python...
  • แต่ละภาษาต้องแสดงรายการชื่อภาษาที่คั่นด้วยบรรทัดใหม่โดยเรียงตามความยาว
    • ผลลัพธ์ต้องเป็นพีระมิด:รายการสามารถมีชื่อภาษาที่ใช้แล้วเท่านั้นซึ่งจะสั้นกว่าชื่อภาษาสคริปต์ที่ใช้งาน + ชื่อภาษาสคริปต์ที่กำลังทำงาน
  • ขึ้นบรรทัดใหม่และนำขึ้นบรรทัดใหม่ได้
  • ช่องโหว่มาตรฐานเป็นสิ่งต้องห้าม
  • ไม่อนุญาตให้สร้างภาษาการเขียนโปรแกรมที่กำหนดเองเพียงเพื่อเพิ่มคะแนน
  • หมายเลขเวอร์ชันจะไม่นับในชื่อภาษา แต่คุณสามารถระบุในโพสต์ของคุณหากมีการเปลี่ยนแปลงที่เข้ากันไม่ได้กับภาษาเวอร์ชันใหม่
  • คุณสามารถตัดสินใจว่าคุณต้องการใช้ทางลัดสำหรับชื่อภาษาหรือเป็นชื่อเต็ม แต่คุณไม่สามารถส่งทั้งสองแบบได้ในคำตอบเดียว คุณสามารถใช้อดีต อย่างใดอย่างหนึ่งหรือ 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

คำตอบ:


19

10 ภาษาC , rk , > <> , ทางรถไฟ , ความกว้าง , Gol> <> , ฟิชชัน , คาร์ดินัล , brainfuck , Befunge-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 ไบต์ของนี้เป็นเพียงรหัส brainfuck โปรแกรม Befunge-98 สร้าง:

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

คุณไม่สามารถบันทึก 2 ไบต์โดยใช้putsแทนได้printfหรือไม่
นีล

@ Neil ขอบคุณ! (ยังไม่เคยเล่นกอล์ฟมาก่อน (บางคนบอกว่าฉันยังไม่ได้เล่น))
คิงคิง

2
ดี! ฉันจะดูการเพิ่มParentheticต่อไป - มันละเว้นทุกอย่าง แต่(และ)ทำให้ง่ายต่อการ quine ด้วย
ลินน์

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หลัง"Fission"เพื่อบันทึก 1 ไบต์ :)
Kevin Cruijssen

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.