भाषाओं का पिरामिड


15

एक कोड लिखें जो संभव के रूप में कई प्रोग्रामिंग भाषाओं में चलाता है या संकलित करता है और पिछली और वर्तमान प्रोग्रामिंग भाषाओं के नामों की एक नई पंक्तिबद्ध सूची को प्रिंट करता है।

  • प्रत्येक प्रयुक्त भाषा में पहले की तुलना में 1 वर्ण लंबा नाम होना चाहिए; पूर्व। C#, C++, Ruby, Jelly, Python...
  • प्रत्येक भाषा को लंबाई द्वारा क्रमबद्ध, एक नई रेखा के साथ अलग किए गए भाषा नामों की सूची को आउटपुट करना होगा।
    • आउटपुट एक पिरामिड होना चाहिए: सूची में केवल उपयोग किए जाने वाले भाषा के नाम हो सकते हैं, जो कि रनिंग स्क्रिप्ट भाषा के नाम + रनिंग स्क्रिप्ट भाषा के नाम से कम हैं।
  • अग्रणी और अनुगामी नई सूचियों की अनुमति है।
  • मानक खामियों को मना किया जाता है।
  • यह केवल स्कोर बढ़ाने के लिए कस्टम प्रोग्रामिंग भाषाओं को बनाने की अनुमति नहीं है।
  • संस्करण संख्या भाषा के नाम में नहीं गिनी जाती है, लेकिन आप इसे अपने पोस्ट में निर्दिष्ट कर सकते हैं यदि भाषा के नए संस्करणों में कोई असंगत परिवर्तन हो।
  • आप यह तय कर सकते हैं कि आप भाषा के नाम के लिए शॉर्टकट का उपयोग करना चाहते हैं या यह पूरा नाम है, लेकिन आप एक उत्तर में दोनों फॉर्म जमा नहीं कर सकते। आप पूर्व का उपयोग कर सकते हैं। या तो 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 हैं (एक और महत्वपूर्ण है B, पूर्ववर्ती C. के लिए)
लिन

@ लियन लेकिन यदि आप एक लंबी भाषा के नाम से शुरू करते हैं तो आप स्कोर खो सकते हैं
RedClover

जवाबों:


19

10 भाषाएँ C , rk , > <> , रेल , चौड़ाई , गोल> <> , विखंडन , कार्डिनल , ब्रेनफक , 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 बाइट्स सिर्फ ब्रेनफक कोड है। Befunge-98 कार्यक्रम का उत्पादन:

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

क्या आप putsइसके बजाय का उपयोग करके 2 बाइट्स नहीं बचा सकते हैं printf?
नील

@ नील धन्यवाद! (पहले सी में गोल्फ नहीं हुआ है (कुछ कहेंगे मैं अभी भी नहीं हूं)
जो किंग

2
अच्छा! मैं जोड़ने में लगेगा कोष्ठकों के अगले - यह सब कुछ है, लेकिन ध्यान नहीं देता (और ), साथ 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 बाइट बचाने के लिए निकाल सकते हैं । :)
केविन क्रूज़सेन

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.