वर्सेटाइल इंटेगर प्रिंटर


93

कोड का एक टुकड़ा लिखें जो कम से कम तीन अलग-अलग भाषाओं में निष्पादन योग्य हो। कोड को पूर्णांक 1को भाषा संख्या एक में, 2भाषा संख्या दो में, 3भाषा संख्या तीन आदि में आउटपुट करना चाहिए ।

नियम:

  • आउटपुट केवल पूर्णांक होना चाहिए, लेकिन अनुगामी newlines ठीक हैं।
  • कोड किसी भी प्रकार का इनपुट नहीं ले सकता है
  • एक ही भाषा के विभिन्न प्रमुख संस्करणों को अद्वितीय माना जाता है। तो, पायथन 2 और पायथन 3 में आपका कोड निष्पादन योग्य हो सकता है, हालांकि पायथन 2.5 और पायथन 2.7 अद्वितीय नहीं माने जाते हैं।
  • आप एक नई भाषा का उपयोग कर सकते हैं यदि और केवल अगर इसमें एक एसोलंग / विकी लेख, उपलब्ध दुभाषिया और प्रलेखन है, और इस चुनौती का उपयोग करने से पहले पीपीसीजी पर कम से कम दो उपयोगकर्ताओं द्वारा उपयोग किया गया है। इन 4 नियमों का पालन भी करना होगा ।

आपके सबमिशन का स्कोर आपके कोड में बाइट्स की संख्या है जिसे यह क्यूबेड में चलने वाली भाषाओं की संख्या से विभाजित किया जा सकता है। तो, 54 बाइट समाधान जो 3 भाषाओं में निष्पादन योग्य है, 2 का स्कोर होगा:

54 / 3^3 = 2  

लोअर स्कोर बेहतर है।


लीडरबोर्ड


6
@muddyfish आप कोड के भीतर मामूली संस्करण लाने में सक्षम हो सकते हैं, जो तब आपको सभी के 2.7.1लिए मुफ्त समाधान देगा 2.7.n। (वास्तव में, स्वीपरपटाटो प्रमुख संस्करणों के साथ ऐसा ही करता है।)
मार्टिन

14
मुझे लगता है कि शायद भाषा का सबसे छोटा समाधान यहां समझ में नहीं आता ...: P
FryAmTheEggman

3
@ मैं न तो मैं हूं, इसलिए मैं समस्या के बारे में व्यंग्यात्मक टिप्पणियां छोड़ता हूं ताकि अन्य लोगों को इसके बारे में पता चले: P
FryAmTheEggman

12
मैं सिर्फ आपको बधाई देना चाहता हूं कि आपकी स्कोरिंग कितनी अच्छी है। जब कोड चुनौतियां एक मात्रा में दो मात्राओं का मिश्रण करती हैं तो शेष राशि लगभग हमेशा बंद रहती है ताकि सबसे अच्छा उत्तर सिर्फ एक स्कोर का अनुकूलन होगा बिना दूसरे पर विचार किए। भाषाओं की संख्या का क्यूबिक भार यहाँ एकदम सही था ... जबकि एक और भाषा को जोड़ना हमेशा संभव था, यह हमेशा उपलब्ध बाइट्स की संख्या में ऐसा करने के लिए एक बहुत अच्छी (लेकिन उल्लेखनीय) चुनौती थी। :)
मार्टिन एंडर

20
में इस PPCG चुनौती हम सहयोगी रूप से एक बहुभाषी निर्माण किया गया है। इस चुनौती के लिए प्रस्तुत की गई अग्रणी प्रविष्टियों की तुलना में अब इस चुनौती पर एक बेहतर स्कोर है, लेकिन यह एक समूह प्रयास की नकल करने के लिए समझ में नहीं आएगा जो लगातार सुधार हो रहा है, इसलिए मैं यहां टिप्पणियों में एक उल्लेख छोड़ रहा हूं।

जवाबों:


90

30 भाषाएं, 248 बाइट्स, 248/30 ^ 3 = 0.009185

#|#?15g,@           kkmNmSaIeoe99+{\#/-;n@0ea
#[9!@>.>.eeaww#-1@*"12" L
#{  
###
#`{
25
print(4^2 +7)/2


"""
Jo is here.
$'main'MoO OOM
 7
>Jo, 30
>X Jo
f::=~27
::=]##}#(prin 29)
print (7/6*24)###;alert 2#-[>+<-----]>-.|#(write(if(= 1/5 .2)26 3))"""

संपादित करें: बीटनिक में मौलिकता परीक्षण के बाद से बीटनिक को हटाया नहीं जा सकता है।

कोड में टैब हैं (जो स्टैक एक्सचेंज द्वारा मंगवाए गए हैं) और एक अनुगामी न्यूलाइन है, इसलिए यहां निम्नलिखित है xxd:

00000000: 237c 233f 3135 672c 4020 2020 0920 2020  #|#?15g,@   .   
00000010: 206b 6b6d 4e6d 5361 4965 6f65 3939 2b7b   kkmNmSaIeoe99+{
00000020: 5c23 2f2d 3b6e 4030 6561 0a23 5b39 2140  \#/-;n@0ea.#[9!@
00000030: 3e2e 3e2e 6565 6177 7723 2d31 402a 2231  >.>.eeaww#-1@*"1
00000040: 3222 094c 0a23 7b20 090a 2323 230a 2360  2".L.#{ ..###.#`
00000050: 7b0a 3235 0a70 7269 6e74 2834 5e32 202b  {.25.print(4^2 +
00000060: 3729 2f32 0a0a 0a22 2222 0a4a 6f20 6973  7)/2...""".Jo is
00000070: 2068 6572 652e 0a24 276d 6169 6e27 4d6f   here..$'main'Mo
00000080: 4f20 4f4f 4d0a 2037 0a3e 4a6f 2c20 3330  O OOM. 7.>Jo, 30
00000090: 0a3e 5820 4a6f 0a66 3a3a 3d7e 3237 0a3a  .>X Jo.f::=~27.:
000000a0: 3a3d 5d23 237d 2328 7072 696e 2032 3929  :=]##}#(prin 29)
000000b0: 0a70 7269 6e74 2028 372f 362a 3234 2923  .print (7/6*24)#
000000c0: 2323 3b61 6c65 7274 2032 232d 5b3e 2b3c  ##;alert 2#-[>+<
000000d0: 2d2d 2d2d 2d5d 3e2d 2e7c 2328 7772 6974  -----]>-.|#(writ
000000e0: 6528 6966 283d 2031 2f35 202e 3229 3236  e(if(= 1/5 .2)26
000000f0: 2033 2929 2222 220a                       3))""".

वैकल्पिक रूप से, आप इस कोड को "इसे ऑनलाइन आज़माएं" से कॉपी और पेस्ट कर सकते हैं ! लिंक

यह बहुत बुरी तरह से गोल्फ है, लेकिन मैं इस विचार से खेलना चाहता था, एक बार जब आपके पास पर्याप्त भाषाएं होती हैं, तो बाइट काउंट कोई ज्यादा मायने नहीं रखता है। यह कहते हुए कि कुछ भाषाएँ हैं जिन्हें मैं अब भी आसानी से जोड़ सकता हूँ (उदाहरण के लिए ओब्जेक) लेकिन वर्तमान में उपयोगी होने के लिए बहुत लंबा है। मैं हालांकि अच्छी भाषाओं से बाहर चल रहा हूं, इसलिए मैं अब यहां रुक सकता हूं।

</dev/null 2>/dev/null(यानी खाली इनपुट, अधिशेष STDERR) के साथ सभी कार्यक्रम चलाएं ।

स्पष्टीकरण काफी लंबा है, इसलिए यहां एक कार्यकारी सारांश है:

No.  Lang.              Non-esolang?     2D esolang?      BF/BF-deriv?
--------------------------------------------------------------------------
1    COW                                                       ✓
2    CoffeeScript            ✓
3    Common Lisp             ✓
4    Retina
5    Befunge-93                               ✓
6    Python 2                ✓
7    Rail                                     ✓
8    ETA
9    Prelude
10   Gol><>                                   ✓
11   evil
12   Foo                                                       ✓
13   Ruby                    ✓
14   ><>                                      ✓
15   Brian & Chuck                                             ✓
16   Whitespace
17   3var
18   Axo                                      ✓
19   Labyrinth                                ✓
20   Starry
21   Fission                                  ✓
22   Brainfuck                                                 ✓
23   Julia                   ✓
24   Lily                    ✓
25   GolfScript
26   Chicken Scheme          ✓
27   Thue
28   Perl 6                  ✓
29   Picolisp                ✓
30   TRANSCRIPT

1. गाय

गाय अतिरिक्त आदेशों के साथ एक ब्रेनफॉक व्युत्पन्न है, जिसमें से एक संख्यात्मक आउटपुट है। अमान्य कुछ भी अनदेखा किया जाता है, इसलिए निष्पादित कार्यक्रम केवल है

MoO OOM

जो सेल को 1 तक बढ़ाता है, फिर उसे नंबर के रूप में प्रिंट करता है।

2. कॉफीस्क्रिप्ट (दुभाषिया भी शामिल है)

CoffeeScript देखता है:

# comments
###
multiline comment
###;alert 2# comment

जो बस 2 अलर्ट करता है।

(हां, यह बेहतर होगा कि अगर कोई अन्य भाषा इस स्लॉट को लेती है, लेकिन मैं इस बिंदु पर फेरबदल करने के लिए बहुत आलसी हूं: पी)

3. आम लिस्प | ideone

आम लिस्प (क्लिस्प) देखता है:

#|
multiline comment
|#(write(if(= 1/5 .2)26 3))"""

1/5तर्कसंगत है और नहीं के बराबर है 0.2, इसलिए 3 मुद्रित है। कार्यवाही """एक सिंटैक्स त्रुटि है।

ध्यान दें कि printकॉमन लिस्प में एक पूर्ववर्ती न्यूलाइन और ट्रेलिंग स्पेस का आउटपुट लगता है। हालांकि, सौभाग्य से, writeकॉमन लिस्प और चिकन योजना दोनों में काम करता है।

4. रेटिना | इसे ऑनलाइन आज़माएं!

प्रतिबंध लागू : पहली दूसरी से शुरू होने वाली हर दूसरी पंक्ति को एक वैध रेगेक्स होना चाहिए।

लाइनों की प्रत्येक जोड़ी एक प्रतिस्थापन चरण बनाती है, जो दूसरी पंक्ति के साथ पहली पंक्ति के regex के मैचों के उदाहरणों को प्रतिस्थापित करती है। बीच में, हमारी जोड़ी है

"" "

जो प्रारंभिक खाली स्ट्रिंग को बदलता है """। अंतिम खाली लाइन, किसी भी जोड़ी का हिस्सा नहीं है, इसे मैच चरण के रूप में माना जाता है, रेगेक्स के मैचों की संख्या की गिनती करता है। खाली स्ट्रिंग के चार उदाहरण हैं """, अर्थात् 1"2"3"4

5. Befunge-93 | दुभाषिया

Befunge एक 2D भाषा है, और प्रासंगिक निर्देश हैं

# # 15g,@

पहली पंक्ति, और में 5में 25लाइन। #अगले निर्देश को छोड़ देता है, 15gकी स्थिति में चार हो जाता है (1, 5)कोड (में 5में 25लाइन), ,चार आउटपुट और @रुक जाता है।

6. पायथन 2 | ideone

अजगर देखता है:

# comments
25
print(4^2 +7)/2


"""
multiline string
"""

(4^2+7)/2 = (xor(4,2)+7)/2 = (6+7)/2 = 13/2 = 6, जो printएड हो जाता है ।

7. रेल | इसे ऑनलाइन आज़माएं!

रेल एक 2 डी भाषा है, और निष्पादन $मुख्य कार्य से शुरू होता है , दक्षिण-पूर्व की ओर बढ़ रहा है। इस प्रकार, कोड का प्रासंगिक हिस्सा है

$'main'
 7
  o
   J

साथ oऔर Jप्रतिलेख द्वारा इस्तेमाल किया लाइनों से आ रही। 7 आउटपुट करने के बाद, ट्रेन एक गैर-मान्यता प्राप्त Jनिर्देश को हिट करती है , जो प्रोग्राम को क्रैश कर देती है।

8. ईटीए | इसे ऑनलाइन आज़माएं!

प्रतिबंध लागू: ईटीए कार्यक्रम से पहले के चार्ट में नहीं होना चाहिए etaoinsh

ईटीए केवल अक्षरों etaoinshऔर उनके अपरकेस संस्करणों को पहचानता है , जिसका अर्थ कोड के साथ शुरू होता है

NSaIeoe

n...eएक आधार 7 क्या, सीमांकक के भीतर है, जिसके लिए के आधार पर संख्या धक्का SaIहै 624, या दशमलव में 312। oफिर चारु के रूप में आउटपुट, जाहिरा तौर पर मोडुलो 256 के बाद, चार 8(कोड बिंदु 56) देते हुए। eफिर एक खाली ढेर के साथ विभाजित करने की कोशिश करता है, जो विफल हो जाता है।

9. प्रस्तावना | इसे ऑनलाइन आज़माएं!

प्रतिबंध लागू:() किसी भी कॉलम में एक से अधिक नहीं , ()एक समय में एक कॉलम पढ़ने से मेल खाता है, इसके कारण कोई अनंत लूप नहीं है ()

इसके लिए अजगर इंटरप्रेटर को NUMERIC_OUTPUT = Trueसेट करना पड़ता है।

प्रस्तावना एक ऐसी भाषा है जहाँ प्रत्येक पंक्ति को अलग-अलग निष्पादित किया जाता है। बहुत सारे चार्ट निष्पादित हो जाते हैं, लेकिन महत्वपूर्ण हिस्सा है

9!

दूसरी पंक्ति पर, जो आउटपुट 9 ()में है। प्रस्तावना में लूप निरूपित करता है, लेकिन #एस (जो स्टैक से पॉप) की प्रमुखता के लिए धन्यवाद , स्टैक के सबसे ऊपर हमेशा 0 होते हैं जब तक एक लूप हिट होता है, इसलिए उनमें से कोई नहीं दौड़ में हैं। प्रेलोडे के स्रोत कोड प्रतिबंधों के बारे ()में कुछ बाहरी स्थानों को पेश किया गया है।

10. गोल> <> | दुभाषिया

यह भाग (और> <>) मार्टिन के उत्तर की तरह काम करता है । प्रासंगिक कोड है

#                                      ;n@0ea

गोल> <> एक 2 डी भाषा है और #आईपी ​​को दर्शाता है, जिससे यह बाईं ओर यात्रा करता है। यह चारों ओर लपेटता है, स्टैक पर 10, 14 और 0 धक्का देता है। @फिर स्टैक को घुमाता है, शीर्ष पर 10 लाता है, nइसे आउटपुट करता है और ;कार्यक्रम को रोक देता है।

11. बुराई | इसे ऑनलाइन आज़माएं!

यह हिस्सा भी मार्टिन के जवाब के समान है।

बुराई निचले अक्षरों को छोड़कर सब कुछ अनदेखा करती है। कुछ और पात्रों को अनदेखा करना, प्रासंगिक हिस्सा है

aeeeaeeaww

जहां aचर वृद्धि होती है A, eबुराई की बुनाई का कार्य है जो बिट्स को फेरबदल करता है A, और wआउटपुट A। इसलिए हम 1दो बार आउटपुट देते हैं 11

लेकिन बाकी निर्देशों के बारे में क्या है, और विशेष रूप wसे अंतिम पंक्ति पर? मान लीजिए कि कभी-कभी कोड के साथ खिलवाड़ करना सबसे आसान होता है और प्रार्थना करना अभी भी हर चीज में काम आता है जो, यहाँ, यह किसी तरह किया ...

12. फू | इसे ऑनलाइन आज़माएं!

फू दोहरे उद्धरण चिह्नों के बीच कुछ भी उत्पन्न करता है, इसलिए प्रासंगिक हिस्सा है

"12"

दूसरी पंक्ति पर। हालाँकि, बाद में हमें दोहरे उद्धरण चिह्नों की आवश्यकता होती है, क्योंकि हम फू को त्रुटि मुक्त बनाने के लिए मार्टिन के उत्तर के समान विधि का उपयोग करते हैं, अर्थात् पूर्ववर्ती #-1@। यह स्पष्ट नहीं है कि यह उस भाषा में क्यों काम करता है जो शून्य स्टैक द्वारा खाली स्टैक और विभाजन के चेहरे पर सैनिकों, लेकिन मुझे खुशी है कि यह करता है।

13. रूबी | ideone

अजगर की तरह, रूबी देखता है:

# comments
25
print(4^2 +7)/2


"""
multiline string
"""

हालांकि, यह देखते हुए कि बहु स्ट्रिंग वास्तव में तीन अलग तार है लायक है ( "", "...", "") एक साथ concatenated। 2 (4^2+7) = xor(4,2)+7 = 6+7 = 13से विभाजित करने का प्रयास करने से पहले, प्रिंट लाइन आउटपुट करता है nil

14. [ <> | इसे ऑनलाइन आज़माएं!

यह भाग गोल> <> भाग के समान है, सिवाय @इसके 14 को ऊपर की तरफ लाता है, जो आउटपुट प्राप्त करता है।

15. ब्रायन और चक | इसे ऑनलाइन आज़माएं!

ब्रायन और चक एक दो टेपों के साथ बीएफ व्युत्पन्न है, जहां एक टेप का निर्देश सूचक दूसरे टेप का मेमोरी पॉइंटर है। अनुपस्थिति में ```, स्रोत कोड की पहली दो पंक्तियों का उपयोग टेपों को आरंभ करने के लिए किया जाता है।

पहले दो पंक्तियों में प्रासंगिक वर्ण हैं:

   ?15
#     >.>.

?ब्रायन की टेप में सेल करने के लिए (बताया जा रहा में चक पर नियंत्रण गुजरता है #) अशून्य है। चक तब निष्पादित होता है >.>., प्रश्न चिह्न के बाद दो वर्णों को आउटपुट करता है ।

16. व्हाट्सप्प | दुभाषिया

STLक्रमशः स्थान, टैब और लाइन फ़ीड के लिए उपयोग करना , कार्यक्रम की शुरुआत है:

SSSTSSSSL
TL
STL
L
L

पहली पंक्ति 16 ( +10000आधार 2) को धक्का देती है , पूर्ववर्ती TLSTइसे संख्या के रूप में प्रिंट करती है। अगले तीन न्यूलाइन्स ने कार्यक्रम को रोक दिया।

हालाँकि, ध्यान दें कि यह कार्यक्रम दुभाषिया विशिष्ट है। अधिकांश दुभाषियों में बाकी कोड वाक्यविन्यास त्रुटियां हैं, इसलिए ऊपर दिए गए लिंक की तरह अधिक उदार व्याख्याकार की आवश्यकता होती है।

17. 3var | इसे ऑनलाइन आज़माएं!

पहली पंक्ति में, निर्देशों का एक समूह निष्पादित होता है, लेकिन प्रासंगिक हैं

kkmmao#/

ईटीए के प्रतिबंध के कारण, हम इसे बढ़ाने के kबजाय चर बी को कम aकरने के लिए उपयोग करते हैं। kkबी -2 को घटाता है और mmबी को दो बार 16 से बढ़ाता है, जिसे 17 के साथ बढ़ाया जाता है a। इसके बाद इसका आउटपुट दिया जाता है o

#तब B को 0 पर रीसेट करने के लिए उपयोग किया जाता है, और /प्रोग्राम को 0 से विभाजन के माध्यम से त्रुटि का कारण बनता है।

18. कुल्हाड़ी | इसे ऑनलाइन आज़माएं!

प्रतिबंध लागू: एक्सो कार्यक्रम से पहले कोई निर्देश जो आईपी की दिशा बदलते हैं

एक बार फिर, निर्देशों का एक समूह पहली पंक्ति में निष्पादित हो जाता है, लेकिन प्रासंगिक हैं

# # 15 ,@            9 9  + {   \

Axo, Befunge की तरह एक 2D भाषा है, और #इसी तरह एक पुल है जो अगले निर्देश को छोड़ देता है, लेकिन केवल तभी जब स्टैक के शीर्ष शून्य हो। 15,स्टैक के लिए धक्का, लेकिन स्टैक के साथ खाली है @99+फिर 18 को धक्का देता है, {आउटपुट और \हाल्ट।

19. भूलभुलैया | इसे ऑनलाइन आज़माएं!

भूलभुलैया एक और 2 डी भाषा है, और निष्पादित निर्देश हैं

#|#
 [9!@

#स्टैक की लंबाई को धक्का देता है, जो पहली बार 0 है। |बिटवेट है या, स्टैक के बाद से कुछ भी नहीं बदल रहा है इस बिंदु पर केवल 0s है, और दूसरा #अब अकेला शून्य के कारण 1 धक्का देता है। हम 1 के कारण दाएं मुड़ते हैं, 9इस 1 को धर्मान्तरित करते हैं 1*10+9 = 19, !इसे प्रिंट करते हैं और @रोकते हैं।

यह कार्यक्रम इस तथ्य पर निर्भर करता है कि [वर्तमान में एक मान्यता प्राप्त निर्देश नहीं है, और इसलिए इसे दीवार के रूप में माना जाता है।

20. तारों से | इसे ऑनलाइन आज़माएं!

प्रतिबंध लागू: सभी के +पास कम से कम एक पूर्ववर्ती स्थान होना चाहिए

यदि हम गैर-मान्यता प्राप्त वर्णों को दूर करते हैं, तो कोड का प्रासंगिक हिस्सा है

,       +.. +

,इनपुट है, लेकिन चूंकि हम /dev/nullवहाँ से पाइप करते हैं, इसलिए 0 को स्टैक पर धकेलना कोई नहीं है। पूर्ववर्ती रिक्त स्थान के +साथ एक n >= 5धक्का होता है n-5, इसलिए अगला निर्देश 2 धक्का देता है। ..फिर इन दो अंकों को रिवर्स ऑर्डर में आउटपुट करता है।

अगला हमारे पास एक +एकल पूर्ववर्ती स्थान है, जो डुप्लिकेट करता है। हालाँकि, स्टैक खाली है, इसलिए हम त्रुटि करते हैं।

21. विखंडन | इसे ऑनलाइन आज़माएं!

विखंडन के लिए एकमात्र प्रासंगिक हिस्सा है

*"12"L

Lबायीं ओर एक परमाणु घूमता है, "21"21 को प्रिंट करता है *

22. ब्रेनफक | इसे ऑनलाइन आज़माएं!

शुरू प्रतिबंध: कोई .पहले से पहले[

इसके लिए एक दुभाषिया की आवश्यकता होती है जो EOF पर 0 देता है और इसमें 8-बिट कोशिकाएँ होती हैं। प्रासंगिक कोड है

,+-[>.>.-+.>,>]-[>+<-----]>-..

इनबिल्ट -को ऑफ़सेट करना है +, और [...]सेल को 0. के बाद से पहले निष्पादित नहीं किया गया है। निम्न -[>+<-----]>-सेल सेल को चार कोड में सेट करता है 2, और ..इसे दो बार आउटपुट करता है।

23. जूलिया | इसे ऑनलाइन आज़माएं!

जूलिया देखती है:

# comments
25
print(4^2 +7)/2

जो छपा है वह है 4^2+7 = pow(4,2)+7 = 16+7 = 23, और कार्यक्रम की त्रुटियां nothing2 से विभाजित करने की कोशिश कर रही हैं । ध्यान दें कि जूलिया को इस तथ्य का ध्यान नहीं है कि बाकी कोड वैसे भी एक सिंटैक्स त्रुटि का कारण होगा।

24. लिली | दुभाषिया

लिली देखती है:

# comment
#[
multiline comment
]## comment
print (7/6*24)# comment

7/6*24 = 1*24 = 24 छपा है।

25. गोल्फस्क्रिप्ट | इसे ऑनलाइन आज़माएं!

GolfScript देखता है:

# comments
25
print(

GolfScript स्टैक-आधारित है, इसलिए 25 को स्टैक पर धकेल दिया जाता है, फिर पॉप किया जाता है और इसके साथ मुद्रित किया जाता है print(फिर स्टैक पर निहित खाली स्ट्रिंग को कम करने की कोशिश करता है, जो विफल हो जाता है और कार्यक्रम से बाहर निकलता है।

26. चिकन योजना | ideone

चिकन स्कीम #| ... |#में कॉमन लिस्प के समान मल्टीलाइन टिप्पणी वाक्य रचना है। हालाँकि, में

(write(if(= 1/5 .2)26 3))

1/5एक फ्लोट है जो इसके बराबर है 0.2, इसलिए इसके बजाय 26 आउटपुट है।

27. थू | इसे ऑनलाइन आज़माएं!

थ्यू एक भाषा है जो स्ट्रिंग पुनर्लेखन पर आधारित है। पहला प्रासंगिक हिस्सा है

f::=~27
::=

जो एक प्रतिस्थापन को परिभाषित करता है, f -> 27उसके साथ प्रतिस्थापन के अंत को दर्शाता है ::=। अकेला fमें ifतो साथ बदल दिया है 27, जो outputted है।

28. पर्ल 6 | ideone

पर्ल 6 में एक नई टिप्पणी वाक्यविन्यास है, #`(some bracket)जिसका अर्थ है बहुस्तरीय टिप्पणी जो मिलान ब्रैकेट के लिए सभी तरह से है। इस प्रकार, पर्ल 6 देखता है:

# comments
#`{
multiline comment
}# comment
print (7/6*24)# comment

जो प्रिंट करता है 7/6*24 = 28

29. पिकोलिप | ideone

Picolisp देखता है:

# comment
#{
multiline comment
}#(prin 29)

जो 29 प्रिंट करता है। बाद में लाइन एक सिंटैक्स त्रुटि का कारण बनता है।

30. ट्रांसक्रिप्ट | इसे ऑनलाइन आज़माएं!

ट्रांसक्रिप्ट एक रोमांचित विषय है, जिसे टेक्स्ट एडवेंचर के बाद बनाया गया है। गैर-मान्यता प्राप्त लाइनों को अनदेखा किया जाता है (जो आपको वास्तविक कोड निर्देशों के बीच अतिरिक्त कहानी / स्वाद पाठ जोड़ने की अनुमति देता है), इसलिए संबंधित लाइनें निम्नलिखित हैं:

Jo is here.
>Jo, 30
>X Jo

पहली पंक्ति एक स्ट्रिंग चर की घोषणा करती है Jo, दो-अक्षर के नाम का उपयोग करने के बाद से एक-अक्षर के नाम विफल होने लगते हैं। दूसरी पंक्ति इस स्ट्रिंग को सेट करती है "30", जिसे Xतीसरी पंक्ति में ("जांच") द्वारा आउटपुट किया जाता है ।


12
Daaaaaaaaaang ...
AdmBorkBork

9
मुझे लगता है कि यह यहां किसी भी सवाल पर सबसे कम गैर-शून्य स्कोर हो सकता है।
मॉर्गन थ्रैप

बहुत शानदार। मैं भय में हूँ।
निक हार्टले

2
* सकारात्मक, बोनस के साथ छोटे उत्तरों के लिए कुछ नकारात्मक अंक हैं।
कैलक्यूलेटरफेलीन

भविष्य से प्रो-टिप: यदि आप preमार्कडाउन-शैली कोड ब्लॉक का उपयोग करने के बजाय टैग में अपने कोड को घेरते हैं, तो आपके टैब को गड़बड़ नहीं किया जाएगा ।
जैकब

148

15 भाषाएँ, 68 66 65 बाइट्स / 15 ^ 3 = 0.019 ...

रेटिना , तारों , प्रस्तावना , ईटीए , AXO , Labyrinth , Hexagony , फू , ब्रायन और चक , गोल> <> , बुराई , श्वेत रिक्ति , विखंडन , > <> और GolfScript

बड़े पैमाने पर फिर से लिखने के बाद, मैं चार और भाषाओं में फिट होने में कामयाब रहा। कोड में व्हॉट्सएप के लिए कुछ टैब हैं। चूंकि स्टैक एक्सचेंज उन्हें रिक्त स्थान में परिवर्तित करता है, इसलिए मैंने उन्हें \tनीचे का प्रतिनिधित्व किया है:

#I5aeeNTH{\?      \t\t + +3;n@"8"ea9
15}7'`--~!@<"31"LSOe.\t
 \teaww`

मुझे लगता है कि मैं भाषाएं जोड़ रहा हूं (हालांकि केवल एक जोड़ने से मेरे पास पहले से मौजूद कुछ बाइट्स बच सकते हैं)। मुझे आश्चर्य है कि अगर यह गोल्फ के लिए है ... 15 भाषाओं के लिए 65 बाइट्स 11 भाषाओं के लिए 32 बाइट्स से एक छलांग है, और मुझे अब Foo काम करने के लिए कम से कम एक बेकार चरित्र मिला है।

रेटिना प्रिंट करता है 1

इसे ऑनलाइन आज़माएं।

सौभाग्य से, पहली पंक्ति एक वैध रेगेक्स है। हालाँकि, रेगेक्स स्पष्ट रूप से खाली इनपुट से मेल नहीं खाता है, इसलिए पहला चरण (पहले दो लाइनों से मिलकर) कुछ भी नहीं करता है।

तीसरी पंक्ति अपने आप में है, इसलिए इसे एक मैच चरण के रूप में माना जाता है, जो डिफ़ॉल्ट रूप से, मैचों की संख्या को गिनता है। हालाँकि, `एक विभाजक है जो रेटिना को बताता है कि इसके सामने का हिस्सा एक कॉन्फ़िगरेशन स्ट्रिंग है (यह वहाँ दिए गए विकल्पों में से किसी को भी पता करने के लिए नहीं होता है) और इसके बाद का हिस्सा रेगेक्स है। तो रेगेक्स खाली है और रेटिना बिल्कुल एक मैच पाता है।

तारों वाला प्रिंट 2

इसे ऑनलाइन आज़माएं।

तारों को रिक्त स्थान को छोड़कर सब कुछ अनदेखा करता है और +*,'`.। प्रत्येक कमांड उन पात्रों में से एक है जो उन पात्रों के अंतिम स्थान से रिक्त स्थान के साथ संयोजन करते हैं। तो चलो सभी बाहरी कोड हटा दें:

       + +'`. `

सात स्थानों के बाद +एक धक्का 2। एक जगह एक +डुप्लिकेट द्वारा पीछा किया । 'एक सशर्त कूद है। यह स्टैक के शीर्ष को पॉप करता है, जो सत्य (सकारात्मक) है, इसलिए यह संबंधित लेबल पर कूदता है (जहां लेबल द्वारा संकेत दिया जाता है `और "अग्रणी" का अर्थ "प्रमुख स्थानों की एक ही संख्या के साथ") है, जो पहले है `.इसके सामने रिक्त स्थान के बिना संख्या के रूप में ढेर के शीर्ष को प्रिंट करता है।

प्रिंट को छोड़ दें 3

इसे ऑनलाइन आज़माएं।

यह पायथन इंटरप्रिटर को मानता है जो संख्यात्मक आउटपुट का उपयोग करता है। चलो सभी नो-ऑप्स को हटा दें:

# 5        ?         + +3    8   9
15 7  -- !   31

पहली आवाज़ सामान का एक गुच्छा करती है, लेकिन इसमें से कुछ भी मायने नहीं रखता है, क्योंकि कोई !भी परिणाम प्रिंट नहीं करना है। दूसरी आवाज एक धक्का देती है 1, फिर एक 5, फिर एक 7। हम प्राप्त करने के लिए अंतिम दो का अंतर लेते हैं -2, और फिर प्राप्त करने के लिए इसे घटाते 1हैं 3!इसे प्रिंट करता है। तीसरी आवाज में केवल ऑप्स नहीं है।

ईटीए प्रिंट करता है 4

इसे ऑनलाइन आज़माएं।

ईटीए पात्रों ETAOINSH(किसी भी मामले में) को छोड़कर सब कुछ अनदेखा करता है । तो ईटीए द्वारा देखा गया कोड है:

IaeeNTHneaSOeea

Iइनपुट पढ़ने की कोशिश करता है, लेकिन ऐसा नहीं हो सकता है -1aवर्तमान लाइन नंबर 1 को धक्का देता है, जो है 2eहै divmod है, जो उन लोगों के साथ बदलता है 0और 1(या -1, मैं वास्तव में नहीं पता है, लेकिन यह कोई फर्क नहीं पड़ता)। अगले eने दोनों को बदल दिया 0

अब दिलचस्प हिस्सा है। NTHneआधार -7 नंबर शाब्दिक है। Nऔर eसिर्फ सीमांकक हैं, और तीन अंक हैं THN। वह 54(जहां Tअंक है 1, Hहै 0और nहै 5)। एक बार फिर aधक्का 2Sइसे घटाता है, जिसके परिणामस्वरूप 52और Oइसे एक चरित्र ( 4) के रूप में आउटपुट करता है । अब eफिर से divmod की कोशिश करता है, लेकिन स्टैक में दो शून्य होते हैं, इसलिए प्रोग्राम एक त्रुटि के साथ समाप्त होता है (लेकिन ऐसा करते समय STDOUT को प्रदूषित नहीं करता है)।

एक्सो प्रिंट 5

इसे ऑनलाइन आज़माएं।

यह भाषा फिर से लिखने के लिए काफी हद तक जिम्मेदार थी। मैं }पहली पंक्ति में नहीं हो सकता था क्योंकि यह एक्सो में इनपुट के लिए ब्लॉक होगा (मैं किस बारे में बात कर रहा हूं इसके लिए संशोधन इतिहास देखें)। एक्सो के लिए, केवल कोड का यह भाग प्रासंगिक है:

#I5aeeNTH{\

सौभाग्य से, एक्सो का भी 0इसके स्टैक के निचले हिस्से में निहित है , क्योंकि स्टैक #के शीर्ष पर चबूतरे (यह जांचने के लिए कि अगले निर्देश को छोड़ दिया जाना चाहिए या नहीं)। पत्र सभी नो-ऑप हैं। फिर 5एक धक्का देता है 5, {इसे प्रिंट करता है, \कार्यक्रम को समाप्त करता है। काफी सरल, वास्तव में।

भूलभुलैया प्रिंट करता है 6

इसे ऑनलाइन आज़माएं।

मैं कोड को थोड़ा छोटा कर रहा हूं, क्योंकि दायां आधा कभी नहीं पहुंचा है, और मैं इसके tस्थान पर भी उपयोग कर रहा हूं \t, ताकि कॉलम सही ढंग से पंक्तिबद्ध हो:

#I5aeeNTH{\
15}7'`--~!@
 teaww`

अब जब पत्र, स्थान और टैब भूलभुलैया में दीवारें हैं, तो सुलभ कोड वास्तव में इस तरह दिखता है:

# 5      {\
15}7'`--~!@
      `

निर्देश सूचक स्वचालित रूप से उस पथ का अनुसरण करेगा। #मुख्य स्टैक की गहराई को धक्का देता है ( 0) और 15इसे एक में बदल देता है 15}इसे सहायक स्टैक पर ले जाया जाता है, और हम इसे और अधिक उपयोग नहीं करने जा रहे हैं। यह आसानी से स्टैक के शीर्ष को शून्य बनाता है, ताकि आईपी बाईं ओर मुड़ न जाए 57शून्य को एक में बदल देता है 7, 'एक सेशन नहीं है। `एकल निषेध है, इसलिए हम मिल -7। अब इसे बनाने के नीचे निहित से -घटाना । इस बार, आईपी सही से मुड़ता है , जो कि एकतरफा नकार है, इसलिए हम फिर से मिलते हैं । आईपी ​​एक मृत अंत हिट चारों ओर बदल जाता है। पहले की तरह ही काम करता है, इसलिए हम मिल-707`7-7एक बार फिर। जैसा कि स्टैक के शीर्ष अब सकारात्मक है, आईपी सही हो जाता है। एक और है -जो -7फिर से देता है । फिर ~बिटवाइज़ नहीं है, जो इसे प्रिंट 6और !प्रिंट करता है। ऐसा करने के लिए बस सही क्षण है, क्योंकि अब स्टैक फिर से खाली है जैसे कि आईपी बाईं तरफ नहीं बदलेगा, {बल्कि सीधे आगे जारी रहता है @जिसमें प्रोग्राम समाप्त होता है।

हेक्सागोनी प्रिंट 7

इसे ऑनलाइन आज़माएं।

सामने आया कोड इस तरह दिखता है:

     # I 5 a e
    e N T H { \
   ? + + 3 ; n @
  " 8 " e a 9 1 5
 } 7 ' - - ~ ! @ <
  " 3 1 " L S O e
   . e a w w . .
    . . . . . .
     . . . . .

आम तौर पर, यह एक भयानक हेक्सागोनी कार्यक्रम होगा, लेकिन वास्तव में उपयोग में आने वाले अक्षर बहुत अधिक नहीं हैं। वास्तव में वे लेबिरिंथ द्वारा उपयोग किए जाने वाले समान हैं और मुझे लगता है कि जिस तरह से मैं अंतर करता हूं 5और 6काफी अच्छा है। :)

शीर्ष पंक्ति को मूल रूप से अनदेखा किया जा सकता है। #आम तौर पर एक अलग आईपी में बदल जाएगा, लेकिन वर्तमान मेमोरी एज है 0, इसलिए यह नहीं है। अक्षर केवल एक निश्चित मेमोरी मान सेट करते हैं, लेकिन हम इसका उपयोग नहीं करने जा रहे हैं। पहली पंक्ति के अंत के बाद, मध्य पंक्ति (शुरू से }, दाएं जा रही है) में नियंत्रण प्रवाह जारी है । }एक और स्मृति किनारे तक ले जाता है। 7उस किनारे सेट करता है 7'हम जहां से आए थे वहां वापस चले गए। -हमारे द्वारा अभी 7उपयोग की गई मेमोरी एज ( 0) को अप्रयुक्त मेमोरी एज ( ) से घटाया जाता है , इसलिए हम प्राप्त करते हैं -7। अगला -फिर से वही काम करता है, इसलिए यह नो-ऑप है। अब तक, लैब्रिंथ के समान (मेमोरी लेआउट के अलावा)। पर अब~हेक्सागोनी में बिटवाइस नहीं बल्कि एकतरफा नकार है। तो 7इसके बदले देता है 6!@, जैसे भूलभुलैया में मूल्य को प्रिंट करता है और कार्यक्रम को समाप्त करता है।

फू प्रिंट्स 8

इसे ऑनलाइन आज़माएं।

जैसा कि हम सभी जानते हैं कि प्रोग्रामिंग लैंग्वेज क्विज प्रिंटिंग की चीजें फू में काफी तुच्छ हैं, भले ही अधिकांश कोड अक्षरों का यादृच्छिक रंबल हो। कोई भी चरित्र आउटपुट को प्रभावित नहीं करता है, सिवाय इसके कि "8"कौन प्रिंट करता है 8। खैर, "31"बाद में है, लेकिन फू पहली पंक्ति के अंत में एक त्रुटि के साथ समाप्त होता है। मुझे यकीन नहीं है कि ऐसा क्यों होता है, लेकिन इसके 3लिए शीर्ष पंक्ति पर उस (या किसी अन्य अंक) की आवश्यकता होती है , जिसका उपयोग कहीं और नहीं किया जाता है।

ब्रायन और चक प्रिंट 9

इसे ऑनलाइन आज़माएं।

आइए इस बात को फिर से करते हैं जहां हम तीसरी पंक्ति को हटाते हैं (यह कभी भी पार्स नहीं होता है) और सभी अप्रासंगिक पात्रों (जैसे कि नो-ऑप्स, या कोशिकाएं जो पढ़ी नहीं जाती हैं) को रिक्त स्थान के साथ प्रतिस्थापित करते हैं:

         { ?         + +         9
  }   --   <        .

एक अनुस्मारक के रूप में, प्रत्येक पंक्ति एक ब्रेनफक-जैसी है, जिसका टेप अन्य प्रोग्राम का स्रोत कोड है। नियंत्रण प्रवाह पहली पंक्ति (ब्रायन कहा जाता है) पर शुरू होता है।

{चाल टेप सिर बाईं ओर सभी तरह (जहां यह पहले से ही है), और ?हाथ चक (दूसरी पंक्ति) के लिए खत्म हो प्रवाह नियंत्रित करते हैं। }टेप सिर को दाईं ओर ले जाता है , जब तक कि यह एक शून्य सेल नहीं पाता। यह कार्यक्रम के अंत तक नहीं होता है, इसलिए टेप हेड एक सेल के बाद समाप्त होता है 9-उस सेल को घटाता है, लेकिन वह अप्रासंगिक है। <टेप सिर पर ले जाता है 9और .इसे प्रिंट करता है। चक कार्यक्रम से बाहर निकलता है और समाप्त होता है।

गोल> <> प्रिंट 10

यहां परीक्षण किया गया।

#एक दर्पण है, इसलिए आईपी तुरंत पहली पंक्ति के अंत में पहुंच जाता है (और बाएं चला जाता है)। 9पर ध्यान नहीं दिया जा सकता है। aधक्का 10, eधक्का 14, "8"के चरित्र कोड धक्का 8, @शीर्ष तीन ढेर तत्वों घूमता है (खींच रहा 10, ऐसा है कि) nप्रिंट 10और ;कार्यक्रम समाप्त हो जाता है।

के @बजाय का उपयोग करने के सुझाव के लिए Sp3000 के लिए धन्यवाद !(जो एक बाइट बचाया)।

बुराई प्रिंट 11

सिंगल-डिजिट नंबर जेनरेट करने के लिए कुछ ब्रूट-मजबूर कमांड-लिस्ट भेजने के लिए Sp3000 का धन्यवाद।

इसे ऑनलाइन आज़माएं।

निचले मामले के अक्षरों को छोड़कर बुराई सब कुछ अनदेखा करती है इसलिए कोड इस तरह दिखता है:

aeeneaeeaww

इसके अलावा, nकुछ स्थिति को प्रभावित करता है , जिनके बारे में हम परवाह नहीं करते हैं तो आइए इसे भी अनदेखा करें। अब aरजिस्टर बढ़ाता है (जो शुरू होता है 0), और eबुराई का जादू "बुनाई" ऑपरेशन है जो एक विशेष तरीके से बिट्स की अनुमति देता है। aeeeaeeaका मान 49होता है जो वर्ण कोड है 1wwइसे दो बार प्रिंट करता है।

व्हॉट्सएप प्रिंट करता है 12

इसे ऑनलाइन आज़माएं।

ठीक है, हम जानते हैं कि व्हाट्सएप केवल रिक्त स्थान, टैब और लाइनफीड पढ़ता है, इसलिए व्हॉट्सएप द्वारा देखे गए कोड को लिखें STL:

SSSSSSTTSSLTLST

यह दो आदेश हैं:

SSSSSSTTSSL
TLST

पहले वाला नंबर धक्का देता है 12। विशेष रूप से, SSएक नंबर शाब्दिक शुरू होता है। अगला Sसाइन बिट (पॉजिटिव) है। फिर सब कुछ Lसंख्या का एक द्विआधारी प्रतिनिधित्व है। एक टन प्रमुख जीरो है, जिसे हमें स्टाररी की आवश्यकता है, लेकिन वे संख्या को प्रभावित नहीं करते हैं। तब TTSSएस 12बाइनरी में है। मजेदार तथ्य: यदि मैंने 16 वीं भाषा जोड़ी है, तो मैं यहां एक बाइट बचा सकता हूं, क्योंकि तारों Sसे द्विआधारी पुनरावृत्ति में चार का उपयोग किया जा सकता है 16। मुझे संदेह है कि मैं हालांकि ...

TLSTसिर्फ एक संख्या के रूप में ढेर के शीर्ष प्रिंट करता है। ( TLI / O कमांड के रूप में कमांड को चिह्नित करता है, और STसंख्या को प्रिंट कर रहा है।)

विखंडन प्रिंट 13

इसे ऑनलाइन आज़माएं।

विखंडन केवल कोड के इस भाग को देखता है:

           <"31"L

Lएक बाएं-परमाणु के साथ नियंत्रण प्रवाह शुरू करता है। "टॉगल प्रिंट मोड, ताकि 31सिर्फ प्रिंट 13। फिर परमाणु को कील में पकड़ लिया जाता है <, जो कार्यक्रम को समाप्त कर देता है।

> <> प्रिंट 14

यहां परीक्षण किया गया।

> <> और गोल> <> के बीच भेद करना उतना आसान नहीं है जितना मैंने सोचा था, क्योंकि गोल> <> लगभग हमेशा एक ही चीज़ के रूप में होता है> <> दोनों में मौजूद कमांड्स के लिए, और कमांड जो केवल गोल में मौजूद हैं> < > कारण> <> क्रैश करने के लिए। हालाँकि, @दूसरे तरीके से घूमता है> <>, जैसे कि यह 7ऊपर खींचने के बजाय नीचे धकेलता है 10, और फिर 14इसके बजाय मुद्रित हो जाता है 10

गोल्फस्क्रिप्ट प्रिंट 15

इसे ऑनलाइन आज़माएं।

यह सबसे सरल है: #पहली पंक्ति को टिप्पणी करता है। फिर 15खुद को धक्का देता है और }एक "सुपर कमेंट" है, जो कार्यक्रम के बाकी हिस्सों को अनदेखा करता है। तो 15कार्यक्रम के अंत में मुद्रित किया जाता है।


34
यह वास्तव में प्रभावशाली है!
स्वेरापोटो 10

1
@YassinHajaj धन्यवाद, सही किया।
मार्टिन एंडर

2
Niiice। 15 भाषाओं के लिए बढ़िया काम!
ev3commander

1
@SnoringFrog अच्छा है, आप वहाँ जाएँ।
मार्टिन एंडर

1
@Eumel धन्यवाद, लेकिन इनाम विशेष रूप से इसके विवरण में सूचीबद्ध "सामान्य" भाषाओं के लिए है, इसलिए इनाम को इस तरह के उत्तर में जाना चाहिए (जैसे कि Sp3000 का बहुत अच्छा समाधान)। मुझे लगता है कि मुझे वैसे भी इस से पर्याप्त प्रतिनिधि मिला। ;)
मार्टिन एंडर

42

पायथन 1.x, 2.x और 3.x, 32 बाइट्स / 3 ^ 3 = 1.1851 ...

import sys
print(sys.version[0])

संस्करण की पहली संख्या को प्रिंट करता है, जो 1पायथन में 1.x, 2पायथन में 2.x और 3पायथन में 3.x.

जब तक हम अजगर 9.x प्राप्त करते हैं, तब तक मेरा स्कोर एक शानदार होगा 0.04389!

: ~)!


10
चैट से: हां, यह सस्ता और वैध दोनों है =) यह इस कारण का हिस्सा है कि केवल प्रमुख संस्करणों को ही काफी अनोखा माना गया। मुझे नहीं पता कि कितने पायथन संस्करण हैं, लेकिन आप शायद इस तरह से कुछ का उपयोग करके अपने स्कोर को बहुत कम कर सकते हैं ... यह उन कुछ समाधानों में से एक है जहां मैं वास्तव में समझ रहा हूं कि क्या हो रहा है, इसलिए +1 मुझसे; - )
स्टेवि ग्रिफिन

6
अजगर में 10.x (जब यह मौजूद होता है) तो यह प्रिंट नहीं होता 1क्योंकि यह स्ट्रिंग "10.whatever" का पहला चरित्र है?
ev3commander

1
@ ev3commander हालांकि, यह सबमिशन python10 में एक सही आउटपुट देने के लिए नहीं है।
टाइजॉइड

फिक्स्ड! भविष्य-प्रूफ संस्करण पर काम करना, लेकिन पायथन 1.x अन्य लोगों की तरह उपयोगकर्ता के अनुकूल नहीं है: ~)!
स्वेरापॉटो 17

1
मुझे बस एक ऐसी भाषा बनानी होगी जिसमें तीन प्रमुख संस्करण हों। उन तीन प्रमुख संस्करणों में, जब खाली फ़ाइल चलाने से प्रमुख संस्करण संख्या वापस आ जाती है। परिणाम 0/3 ^ 3 = 0 बिल्कुल सही होगा।
ब्रैडेन स्टेफनिक 21

32

3 भाषाएँ, 2 बाइट्स / 27 = 0.074

1P

ठीक है, यह कम से कम आधे सबमिशन को धड़कता है: पी

1. गोल्फस्क्रिप्ट

GolfScript अनदेखी करता है P, केवल 1 आउटपुट । यह कोशिश करो ऑनलाइन

2. परा

P2-टू-द-पॉवर ऑफ है, इसलिए 1P = 2^1 = 2इसे ऑनलाइन आज़माएं

3. गंभीरता से

Pशून्य प्रधानमंत्री देता है, शून्य अनुक्रमित। हम 3 प्राप्त करते हैं क्योंकि यह दूसरा प्रमुख है। इसे ऑनलाइन आज़माएं


टिप्पणियाँ

मेरा जन्मजात लक्ष्य 1 बाइट में एक वैध उत्तर ढूंढना था। मेरी पहली कोशिश थी \x12जो बबलगम और gs2 में काम करती है , लेकिन चुनौती के लिए न्यूनतम तीन भाषाओं की आवश्यकता होती है। \x13काम करेगा अगर वहाँ एक भाषा है जिसमें 1 आउटपुट है।

1 बाइट उत्तर देने पर, मैं दो बाइट्स में चला गया। 3uएक करीबी कॉल है, जाप में 1 आउटपुट , गोल्फस्क्रिप्ट में 3 और सीरियसली 4, लेकिन एक ऐसी भाषा को खोजना कठिन था, जिसने गैप को भरने के लिए 2 आउटपुट दिए।

यह सब मुझे बहुत लंबा लगा: /


20

6 भाषाएँ - 44 बाइट्स / 6 ^ 3 = 0.204 ...

10 बाइट बचाने के लिए SnoringFrog के लिए धन्यवाद!

काम में:

  • Befunge
  • Pyth
  • Brainfuck
  • Hexagony
  • श्वेत रिक्ति
  • अनिरद v0.2

2# "1",@"-[----->+<]>.*@@@!4<SSTST
T
ST
 >6=

नोट: इसे ऑनलाइन आज़माने से पहले, S को स्पेस और T को टैब से बदलना सुनिश्चित करें, या निम्न हेक्सडंप को ASCII में रूपांतरित करें

32 23 20 22 31 22 2c 40 22 2d 5b 2d 2d 2d 2d 2d 3e 2b 3c 5d 3e 2e 2a 40 40 40 21 34 3c 20 20 09 20 09 0d 0a 09 0d 0a 20 09 0d 0a 20 3e 36 3d

मैं और अधिक प्रोग्रामिंग भाषाओं का उपयोग करने की कोशिश करने जा रहा हूँ :)

Befunge (प्रिंट 1):

इसे ऑनलाइन आज़माएं

2# "1",@"-[----->+<]>.*@@@!4<
2                             # This puts 2 onto the stack
 #                            # Skips the next op (the space)
   "1"                        # Sets the ASCII value of 1 onto the stack
      ,                       # Pop the last item (1)
       @                      # Terminate program

पायथ (प्रिंट 2):

इसे ऑनलाइन आज़माएं

2# "1",@"-[----->+<]>.*@@@!4<
2                             # Prints 2
 #                            # Infinite while loop until an error occurs
   "1"                        # String
      ,@                      # This gives the error and terminates the program

ब्रेनफक (प्रिंट 3):

इसे ऑनलाइन आज़माएं

2# "1",@"-[----->+<]>.*@@@!4<
2# "1",@"                     # Since these are not brainfuck ops, these will be ignored
         -[----->+<]>         # Puts "3" on the stack
                     .        # Prints the last item (3)     

हेक्सागोनी (प्रिंट 4):

इसे ऑनलाइन आज़माएं

2# "1",@"-[----->+<]>.*@@@!4<   

अधिक पठनीय संस्करण:

   2 # " 1       # The steps:
  " , @ " -      # 1 (2) - Hexagony starts at the top-left of the hexagon
 [ - - - - -     #       - This immediately puts 2 onto the stack
> + < ] > . *    # 2 (#) - Since the stack is 2, this makes the 2nd pointer the 
 @ @ @ ! 4 <     #       - new current pointer
  > 6 = . .      # 3 (*) - The position of the 2nd pointer is in the left-most
   . . . .       #       - position. This sets the stack to the product
                         - of the two neighbours which is zero
                 # 4 (<) - Changes the pointer direction to west
                 # 5 (4) - Sets the stack to 4
                 # 6 (!) - Outputs the decimal 4
                 # 7 (@) - Terminates the program

व्हॉट्सएप (प्रिंट 5):

इसे ऑनलाइन आज़माएं

चूँकि अन्य वर्णों को अनदेखा किया जाता है, लेकिन व्हाट्सएप और टैब को निम्न के साथ छोड़ दिया जाता है:

SSTST                 # This pushes 5 onto the stack
T                     # 
ST                    # This prints the decimal

AniRad संस्करण 0.2 (प्रिंट 6):

किसी तरह यह संस्करण 0.2 के लिए काम करता है, लेकिन संस्करण 0.4 के लिए एक त्रुटि देता है। मेरे पास कोई सुराग नहीं है क्यों। आप यहां संस्करण 0.2 पा सकते हैं । आदेश में इस चलाने के लिए, तो आप इसके लिए दुभाषिया के कोड पेस्ट कर सकते हैं repl.it और इसे चलाने के। उसके बाद, आपको केवल प्रोग्राम को एसटीडीआईएन पर पेस्ट करना होगा और इसे चलाना होगा।

2# "1",@"-[----->+<]>.*@@@!4<      # (#)  Starts at the hashtag (starting point)
                                   #      Direction is down
                                   # (>)  When the pointer gets to the '>', it changes
 >6=                               #      its direction
                                   # (6) Puts 6 onto the stack 
                                   # (=) Pushes the result and terminates

1
अधिक भाषाएँ निश्चित रूप से मुझे लगता है कि जाने का रास्ता है ... घन भाजक वास्तव में बहुत ही उदार है, ताकि आपके 5 या 6 भाषाओं के होने पर मेरे स्कोर को हरा देना बहुत मुश्किल न हो।
मार्टिन एंडर

@ मार्टिनबटनर, हाँ, हालाँकि मैं यह नहीं देख सकता कि नई भाषा कैसे जोड़ूँ
अदनान

2
@Martin हाँ, यह उदार है। क्यूबिक भाजक का बिंदु अधिक भाषाओं को दृढ़ता से प्रोत्साहित करना था। मुझे लगता है कि 50 बाइट में 6 भाषाएं 30 बाइट में 5 भाषाओं के बराबर होनी चाहिए। :-) यह निश्चित रूप से कठिन होगा कि आप जितनी अधिक भाषाओं का उपयोग करेंगे।
स्टीवी ग्रिफ़िन

आपका व्हाट्सएप कोड थोड़ा कम किया जा सकता है (और मुझे नहीं लगता कि यह आपकी किसी अन्य भाषा को प्रभावित करेगा। (लाइनफीड के लिए एल का उपयोग करके), SSSSSSSSSSTTSTSTLTLSSअब आपके पास के बजाय , आप कर सकते हैं SSSTSTLTLST। यह शाब्दिक 5 को धक्का देता है । स्टैक, फिर पूर्णांक के रूप में प्रिंट करता है।
SnoringFrog 15

@SnoringFrog धन्यवाद! मैंने इसे संपादित किया है
अदनान

14

6 7 भाषाओं, 32 37 बाइट्स, स्कोर 0.148 ... 37/7 3 ≈ .१,०७,८७२ ...

#7+!"@\"6.@;n5
print(4--int(-3/2)#"
)

Brainfuck-एनजी

+वर्तमान सेल में वृद्धि, !पूर्णांक के रूप में प्रिंट करता है, @बाहर निकलता है। #और "एनओपी हैं।

अजगर २

पहली पंक्ति टिप्पणी है। पूर्णांक विभाजन का उपयोग करना, 4 - -int(-3 / 2) = 4 - -int(-2) = 4 - -(-2) = 4 - 2 = 2परिणाम की गणना और प्रिंट करता है।

अजगर ३

पिछले के समान, लेकिन फ्लोट डिवीजन के साथ। 4 - -int(-3 / 2) = 4 - -int(-1.5) = 4 - -(-1) = 4 - 1 = 3

लुआ

--एक टिप्पणी शुरू करता है, और #पहली पंक्ति में एक टिप्पणी है, इसलिए मूल रूप से print(4)

> <>

#आईपी ​​को दर्शाता है, 55 को धक्का देता है, nएक नंबर प्रिंट करता है और ;क्विट करता है।

Befunge

#लॉग पर स्कीप +, !तार्किक रूप से स्टैक के शीर्ष को नकारता है, "@\"स्ट्रिंग @\को 6धक्का देता है, 6 को धक्का देता है, .एक नंबर प्रिंट करता है और @क्विट करता है।

Pyth

#किसी भी त्रुटि को खारिज करते हुए, एक अनंत लूप शुरू करता है। 77 प्रिंट करता है, +!"string")जिसके बाद +प्रोग्राम को समाप्त करने के लिए मूल रूप से दो ऑपरेंड नहीं होने के लिए त्रुटि होती है।


13

JavaC ++ C, 363/27 = 13.4 ...।

जावा प्रिंट 1, सी ++ प्रिंट 2, सी प्रिंट 3. यहां कोई रिकॉर्ड नहीं तोड़ना (क्योंकि जावा), लेकिन मुझे वास्तव में इन भाषाओं में पॉलीग्लॉट बनाने का चतुर, अपमानजनक तरीका पसंद है जो मैंने खोजा था।

//\u000a/*
#include<stdio.h>
#ifdef __cplusplus
#define o "2"
#else
#define o "3"
#endif
int p(int a){printf(o);}
struct{int(*print)(int);}out;
//*/
/*\u002a/
import static java.lang.System.out;
public class P{//*/
/*\u002a/public static void//*/
main(/*\u002a/String[] args//*/
){//\u000a/*
out.print=p;
//\u002a/
out.print(1);}
/*\u002a/}//*/

यह एक गड़बड़ी है। यहां बताया गया है कि यह कैसे काम करता है। यूनिकोड के शाब्दिक ( \u000a, अन्यथा लाइनफीड के रूप में जाना जाता है, और \u002a, अन्यथा के रूप में जाना जाता है *) जावा संकलक द्वारा अपने वास्तविक पात्रों में विस्तारित किया जाता है। तो, यहाँ जावा कंपाइलर क्या है:

//
/*
#include<stdio.h>
#ifdef __cplusplus
#define o "2"
#else
#define o "3"
#endif
int p(int a){printf(o);}
struct{int(*print)(int);}out;
//*/
/**/
import static java.lang.System.out;
public class P{//*/
/**/public static void//*/
main(/**/String[] args//*/
){//
/*
out.print=p;
//*/
out.print(1);}
/**/}//*/

शुरुआत में उस सभी सामान को नजरअंदाज कर दिया गया क्योंकि यह सब एक बहु-पंक्ति टिप्पणी ( /* ... */) में लिपटा हुआ है । बाद में, हम देखते हैं कि सिंगल-लाइन और मल्टी-लाइन टिप्पणियों को मिलाकर हमें यह नियंत्रित करने की अनुमति मिलती है कि प्रत्येक भाषा में किन भागों पर टिप्पणी की गई है। मुख्य विधि में, हम एक बहु-पंक्ति टिप्पणी शुरू करते हैं, और फिर करते हैं //*/। आमतौर पर, यह एक एकल-पंक्ति टिप्पणी होगी, लेकिन जब से हम एक बहु-पंक्ति टिप्पणी में हैं, //कुछ भी नहीं करता है, */इसे बंद करने की अनुमति देता है।

यह बराबर जावा कोड है, टिप्पणियों को हटा दिया गया है:

import static java.lang.System.out;
public class P{
public static void
main(String[] args
){
out.print(1);}
}

यहाँ वही है जो C / C ++ कंपाइलर देखता है (मैंने यूनिकोड शाब्दिक हटा दिया है, क्योंकि वे संकलक द्वारा विस्तारित नहीं हैं और इस प्रकार कुछ भी नहीं करते हैं):

///*
#include<stdio.h>
#ifdef __cplusplus
#define o "2"
#else
#define o "3"
#endif
int p(int a){printf(o);}
struct{int(*print)(int);}out;
//*/
/*/
import static java.lang.System.out;
public class P{//*/
/*/public static void//*/
main(/*/String[] args//*/
){//\/*
out.print=p;
///
out.print(1);}
/*/}//*/

यहाँ, सिंगल-लाइन टिप्पणियाँ शुरुआत में मल्टी-लाइन टिप्पणी सीमांकक को ओवरराइड करती हैं, इसलिए सभी #defines और पूर्व- #includeप्राप्त हो जाते हैं। अगला, बहु-लाइन टिप्पणियों का उपयोग जावा के लिए बॉयलरप्लेट कोड पर टिप्पणी करने के लिए किया जाता है। यह समतुल्य कोड है, टिप्पणियों को हटा दिया गया है:

#include<stdio.h>
#ifdef __cplusplus
#define o "2"
#else
#define o "3"
#endif
int p(int a){printf(o);}
struct{int(*print)(int);}out;
main(
){
out.print=p;
out.print(1);}

एक मानक C / C ++ बहुभाषी चाल ( #ifdef __cplusplus) एक टोकन परिभाषित करने के लिए उपयोग किया जाता है oया तो के रूप में "2"या "3", पर अगर यह एक सी ++ या एक सी संकलक कि कोड संकलन है निर्भर करता है। इसके बाद, हम एक नए (परिभाषित p) intतर्क और कॉल को printfपरिभाषित करते हैं , जो हमारे नए परिभाषित oटोकन का उपयोग करते हैं । हमेशा की तरह, वापसी मूल्य बाहर छोड़ दिया गया है, क्योंकि हम सख्त मोड में नहीं हैं। अगला, हम structएक एकल सदस्य के साथ परिभाषित करते हैं , एक फ़ंक्शन पॉइंटर जिसका हस्ताक्षर मेल खाता है p, और नाम से एकल उदाहरण का निर्माण करता है out। मुख्य विधि में (हम intहमेशा की तरह छोड़ देते हैं ), का पता (तो कॉलिंग कॉल ) pको सौंपा गया है , और इसे कहा जाता है।out.printout.printp

सी ++ भाषाओं में शामिल नहीं किया गया है, तो हम पूर्वप्रक्रमक कोड के सभी छोड़ देते हैं और निर्धारित कर सकते हैं pके रूप में int p(int a){puts("2");}। दुर्भाग्य से, C ++ को #includeI / O करने के लिए a की आवश्यकता होती है । यदि C शामिल नहीं किया गया था, तो हम pऔर #ifdefप्रीप्रोसेसर मैक्रो की परिभाषा को छोड़ सकते हैं , और structफ़ंक्शन पॉइंटर की आवश्यकता के बजाय सीधे सदस्य फ़ंक्शन को परिभाषित कर सकते हैं । दुर्भाग्य से, C सदस्य कार्यों का समर्थन नहीं करता है।


12

4 भाषाएँ, 28 बाइट्स / 64 = 0.4375

print((0 and 3^1or 1/2>0)+1)

1. पायथन 2

0मिथ्या है और /पूर्णांक विभाजन है, इसलिए

(0 and 3^1 or 1/2 > 0) + 1 = (1/2 > 0) + 1 = (0 > 0) + 1 = False + 1 = 1

2. पर्ल (पायथन 3 भी)

0मिथ्या है और /फ्लोट डिवीजन है, इसलिए

(0 and 3^1 or 1/2 > 0) + 1 = (1/2 > 0) + 1 = (0.5 > 0) + 1 = 1 + 1 = 2

3. माणिक

0सत्य है और ^बिटवार है, इसलिए

(0 and 3^1 or 1/2 > 0) + 1 = xor(3,1) + 1 = 2 + 1 = 3

4. लुआ

0सत्य है और ^प्रतिपादक है, इसलिए

(0 and 3^1 or 1/2 > 0) + 1 = pow(3,1) + 1 = 3 + 1 = 4

ध्यान दें कि लुआ और रूबी बूलियन जोड़ नहीं सकते हैं क्योंकि वे पूर्णांक हैं, इसलिए उन्हें एक साथ समूहीकृत करना। दुर्भाग्य से 0andलुआ में काम नहीं करता है, इसलिए हम वहां एक बाइट नहीं बचा सकते हैं।


पिछला 17 बाइट संस्करण जो 1 (Lua), 2 (रूबी), 3 (पायथन / पर्ल) प्रिंट करता है:

print(2^(0 or 1))

-3 बाइट्स इस संस्करण के लिए @xnor के लिए धन्यवाद, यह एक बहुत अच्छा बना :)


चाहेंगे 2^(0 or 1)काम करते हैं?
xnor

@xnor आह हाँ यह होगा, धन्यवाद :)
Sp3000

8

BFSRS> <> funge93thon123, 73/343 27 0.212827 ...

ब्रेनफक, गंभीरता से ,> <>, बेफुंज -93, पायथन 1, पायथन 2, पायथन 3

# 4['.]@kX21z-[>+<-----]>--.<;n3
import sys;print(3+int(sys.version[0]))

इसमें unprintables, hexdump शामिल हैं (प्रतिवर्ती xxd -ps -r)

2320345b272e5d406b5832317a7f2d5b3e2b3c2d2d2d2d2d5d3e2d2d2e3c
3b6e330a696d706f7274207379733b7072696e7428332b696e7428737973
2e76657273696f6e5b305d2929

मैं समय के साथ और अधिक भाषाएँ (और शायद बाइट्स) जोड़ूंगा। हेडर में भाषाएं सूचीबद्ध होती हैं कि वे क्या प्रिंट करते हैं। 8-बिट रैपिंग सेल और एक टेप मानता है जो ब्रेनफक के लिए प्रारंभिक स्थिति (रैपिंग या अनंत) के बाईं ओर जाने के बारे में शिकायत नहीं करेगा।

Brainfuck:

[.]   initial value of first cell is 0, so loop is skipped
-[>+<-----]>--  push 49 (ASCII ordinal of 1)
.     print "1"
<     move to blank cell
[0]   skip loop because cell is 0
      everything else is ignored

गंभीरता से :

# 4['.]@  does some stuff we don't care about
kX        pop entire stack, push as list, discard (essentially the same as é, but is ASCII so we can use Python)
2         push 2
1z        pop 1 item from stack and print (used instead of . so Brainfuck doesn't print here; same as ü in this scenario, but is ASCII so we can use Python)
0x7f      terminate program
          everything else is ignored

><>:

#    mirror, reverse direction
3n;  push 3, print "3", end (reversed because IP is scanning RTL at this point)
     everything else is ignored

Befunge-93:

#     jump over the space
4['.] push 4, print 4 (brackets and ' do nothing)
@     end program
      everything else is ignored

पायथन 1 (धन्यवाद मैडीफ़िश):

# 4['.]@kX21z-[>+<-----]>--.<;n3         comment; ignored
import sys;print(4+int(sys.version[0]))  prints 4+1=5

अजगर 2 :

# 4['.]@kX21z-[>+<-----]>--.<;n3         comment; ignored
import sys;print(4+int(sys.version[0]))  prints 4+2=6

पायथन 3 :

# 4['.]@kX21z-[>+<-----]>--.<;n3         comment; ignored
import sys;print(4+int(sys.version[0]))  prints 4+3=7

अजगर 1 भी काम करता है। Codegolf.stackexchange.com/a/65652/32686 देखें । किसी भी वर्ण (लेकिन परिवर्तन 3को 4) में शामिल नहीं करता है
नीला

8

14 भाषाएँ, 73 बाइट्स, स्कोर = (73/14 ^ 3) = 0.02660349854

#Y2(3`5n~thneo e        ;n@0d c
#   -[>+<"9"L-----]>+.
14  
print(int(15/2))+3

मैं कुछ और लंगड़े जोड़ सकता हूं, लेकिन मुझे लगता है कि मैं यहां जो कुछ भी हूं उसे जोड़ूंगा।

1. ब्रेनबुल ; इसे ऑनलाइन आज़माएं!

प्रासंगिक कोड:

    [>+<         ]>+.

               + 

यह वास्तव में सिर्फ है +.+, जो 1 आउटपुट देता है।

2. जोल्फ ; यहाँ यह कोशिश करो!

(चार स्रोत कोड की व्याख्या बंद हो जाता है, इसलिए प्रासंगिक कोड है:

#Y2

यह (जावास्क्रिप्ट में) के बराबर है

var Y = []; toHex(Y); alert(2);

जो आउटपुट 2।

3. तत्व; इसे ऑनलाइन आज़माएं!

प्रासंगिक कोड:

    3`

यह 3इसे कैप्चर और प्रिंट करता है।

4. दिमाग़ ; इसे ऑनलाइन आज़माएं!

प्रासंगिक कोड है:

-[>+<    -----]>+.

  -    -      + 

जो 4 के चार कोड बनाने और इसे आउटपुट करने का मानक तरीका है, और इसके बाद कुछ अन्य सामान।

5. रेंग; यहाँ यह कोशिश करो!

~ कार्यक्रम को समाप्त करता है, इसलिए यहां प्रासंगिक कोड है:

#Y2(3`5n~

#Yइस मामले में, टीओएस को फिर से परिभाषित करता है 02धक्का 2; (स्टैक N को घुमाता है, स्टैक से N को पॉप करता है; 3`धक्का -3; और अंत में, 5nप्रिंट करता है 5

6. ईटीए; इसे ऑनलाइन आज़माएं!

ETA केवल अक्षर E, T, A, O, I, N, S, H पढ़ता है, इसलिए केवल निष्पादित कोड ही है:

       n thneo e         n     


  int int          

सुपर-प्रासंगिक कोड:

       n thneo

या, समकक्ष nthne o:। n...eएक बेस -7 शाब्दिक है, और thn54 के लिए आधार -7 नंबर है o। इस चरित्र को आउटपुट करता है। सबमिशन में त्रुटि हुई, लेकिन मुझे नहीं पता कि क्यों।

7. पायथन 3

यह क्या देखता है:

# comment
# comment
14
print(int(15/2))+3

15/2/फ्लोट डिवीजन के रूप में पैदावार 7.5 है। int(...)संख्या को एक इंट बनाता है, जो तब मुद्रित होता है। जब +3सामना होता है तो प्रोग्राम त्रुटी करता है।

8. जूलिया

जूलिया देखती है:

# comment
# comment
14
print(int(15/2))+3

15/2 को रौंदने के बजाय, जूलिया इसे गोल करती है, उपज देती है 8. यह प्रिंट करता है, फिर +3 पर मुठभेड़ में त्रुटियां होती हैं।

9. विखंडन; इसे ऑनलाइन आज़माएं!

प्रासंगिक कोड:

        <"9"L         

मुझे यह विचार मार्टिन के विखंडन वाले हिस्से से मिला (और इसे चुरा लिया गया)। Lएक बाईं ओर की बात शुरू करता है, पकड़ता है 9, और समाप्त होता है <

10. व्हॉट्सएप; यहाँ यह कोशिश करो!

संबंधित कोड, रिक्त स्थान का अनुवाद Sऔर टैब में T:

SSSTSTS
T
ST

यह स्टैक पर 10 धक्का देता है और इसे एक संख्या ( T\nST) के रूप में आउटपुट करता है ।

11. पायथन 2

अजगर 2 इसे देखता है:

# comment
# comment
14
print(int(15/2))+3

(int(15/2))+3 11 का मूल्यांकन किया जाता है, और यह मुद्रित होता है।

12. गोल> <>; यहाँ यह कोशिश करो!

प्रासंगिक कोड:

#                      ;n@0d c

यह मार्टिन के उत्तर में प्रयुक्त चाल का उपयोग करता है जो कि @> <> और गोल> <> में विभिन्न दिशाओं को घुमाता है। #दर्पण, c12 को dधक्का देता है , 13 को 0धक्का देता है , 0 को धक्का देता है, और ढेर के शीर्ष पर @लाता cहै, फिर बाहर और मुद्रित किया जा रहा है ;n

13.> <>; इसे ऑनलाइन आज़माएं!

प्रासंगिक कोड:

#                      ;n@0d c

फिर से उपयोग करने @से> <> और गोल> <> में अलग-अलग दिशाएं घूमती हैं। #दर्पण, c12 को dधक्का देता है , 13 को 0धक्का देता है , 0 को धक्का देता है, और ढेर के शीर्ष पर @लाता dहै, फिर बाहर और मुद्रित किया जा रहा है ;n

14. गोल्फस्क्रिप्ट; इसे ऑनलाइन आज़माएं!

यह क्या देखता है:

# comment
# comment
    14
print(-int(-15/2))+3

यह धक्का 14, printयह, और त्रुटियों। Sp3000 के उत्तर से प्रेरित चोरी


7

Subskin , Brainfuck और एफओबी 27 बाइट्स / 3 ^ 3 = 1

0#>&$3#<>$-[----->+<]>-.
31

Subskin

0
31

हम इंस्ट्रक्शन पॉइंटर (यहां कोई फर्क नहीं पड़ता) 0और आउटपुट रजिस्टर टू सेट करते हैं 31। यदि आउटपुट रजिस्टर की सामग्री है >= 0, तो हम एक के रूप में निहित मूल्य का उत्पादन करते हैं char। अन्य सभी कोड को अनदेखा किया जाता है।

Brainfuck

-[----->+<]>-.

3रजिस्टर में डालता है, एक बार मूल्य को घटाता है -और अंत में आउटपुट करता है .

ठगना

#>&$3#<>$

यह थोड़ा और मुश्किल है, क्योंकि ब्रेनफुक भी पढ़ता है <और फोब >में निर्देश देता है। हम निष्पादन मोड में प्रवेश करते हैं #और एक से ब्रेनफॉक पॉइंटर को बढ़ाते हैं जो बाद में हम पर आसान बनाता है। हमारे पास अभी तक निष्पादित करने के लिए कुछ भी नहीं है, इसलिए कुछ भी निष्पादित नहीं किया गया है।

हम संचायक मोड के साथ प्रवेश करते हैं $, एक में फेंकते हैं 3, निष्पादन मोड में फिर से प्रवेश करते हैं, संचायक सामग्री को स्टैक के साथ धक्का <देते हैं और अंत में हम सामग्री के साथ आउटपुट करते हैं >

हम प्रोग्राम के साथ फिर से संचय मोड में प्रवेश करने से ब्रेनफॉक को रोकने के लिए $


7

7 भाषाएँ, 55/7 ^ 3 55 0.16035

PowerShell v1, v2, v3, v4, और v5, Foo और Pyth में चलता है

#7.q"6""
$p=$PSVersionTable;($p.PSVersion.Major,1)[!$p]

अंक 1-5 समान तर्क के उत्तर का उपयोग करते हैं । $PSVersionTableविशेष चर PowerShell v2 में शुरू की गई है, और एक पूर्ण निर्माण सूची, संशोधन, आदि यहाँ चर का एक उदाहरण उत्पादन है शामिल किया गया था:

PS C:\Tools\Scripts> $PSVersionTable

Name                           Value                                                                                                                           
----                           -----                               
PSVersion                      4.0
WSManStackVersion              3.0
SerializationVersion           1.1.0.1
CLRVersion                     4.0.30319.34209
BuildVersion                   6.3.9600.17400
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0}
PSRemotingProtocolVersion      2.2

इस कोड में, हम पहले इसे स्टोर करते हैं $pताकि कोड की लंबाई कम हो। फिर, हम चर को एक दो-आइटम सरणी में एक सूचकांक के रूप में परिवर्तित करके इसके अस्तित्व की जांच करते हैं:

  • यदि चर मौजूद नहीं है, तो PowerShell गतिशील रूप से इसे बनाएगा और इसे असाइन करेगा $NULL, !जिनमें से है $TRUE, या 1, जो सरणी में दूसरे तत्व से मेल खाता है, जो आउटपुट करता है 1
  • यदि चर मौजूद है (जैसा कि v2 + में मामला है), तो !चर का परिणाम $FALSEया 0, जो पहले तत्व को अनुक्रमित करता है, जो संस्करण संख्या को आउटपुट करता है।

6 के लिए फू का उपयोग करना, हम लीवर का उपयोग करते हैं जो पावरशेल #में एक टिप्पणी है, इसलिए इसे पीएस वातावरण में निष्पादित करते समय इसे अनदेखा किया जाता है। हालांकि, फू ख़ुशी से संख्या को थूक देगा 6और फिर बाकी कार्यक्रम के माध्यम से आगे बढ़ेगा, जो कुछ भी नहीं करता है।

7 के लिए पायथ का उपयोग करते हुए, हम वापस लौटते हैं 7, फिर तुरंत साथ छोड़ देते हैं , .qइसलिए अनंत लूप-लूप जो शुरू हुआ, #इससे कोई फर्क नहीं पड़ता। चूँकि हमारे पास कुछ बचा हुआ है जो कि स्पष्ट रूप से मुद्रित हो जाता है। इस जोड़ के लिए @ FryAmTheEggman को धन्यवाद ।

संपादित करें - golfed बाइट्स धन्यवाद के एक मुट्ठी भर Mauris संपादित करें - स्पष्ट करने के लिए Pyth स्पष्टीकरण धन्यवाद Sp3000


कैसे के बारे में $p=$PSVersionTable;($p.PSVersion.Major,1)[!$p]? यह मेरे पॉवर्सशेल पर काम करता है, लेकिन शायद सभी पिछले संस्करणों पर नहीं।
लिन

7

7 भाषाएँ, 287/7 ^ 3 = 0.836

संभवतः सबसे कम अंक जो मुझे मिलता है, वैसे भी मुझे सी पॉलीग्लॉट के 3 संस्करण पसंद हैं।

बोरिंग पायथन समाधान को कम से कम "3 अद्वितीय" भाषाओं के लिए योग्य होने के लिए जोड़ा गया।

विभिन्न टिप्पणी intepretations के लिए सी ट्रिग्राफ का दुरुपयोग करके जावा जोड़ा गया।

काम में:

  • अजगर १

  • अजगर २

  • अजगर ३

  • C89

  • C99

  • सी ++

  • जावा

गोल्फ संस्करण:

/*
*??/
/
#include <stdio.h>
#ifndef __cplusplus
#define true 8/*
import sys
print(sys.version[0])
'''
#*??/
/
#endif
int main(){int a=(true>1)?-6:3;printf("%d",(true//*
+a
//**??/
/+2));}
#define a \
'''
/**\u002f
public class p{public static void main(){System.out.println("7");}}
/**/

Ungolfed:

/*
*??/
/

#include <stdio.h>

#ifndef __cplusplus
#define true 8/*

import sys
print(sys.version[0])
'''
#*??/
/
#endif 

int main()
{
    int a = (true > 1) ? -6 : 3;
    printf ("%d", (true//*
    +a
    //**??/
/
    +2));
}
#define a \
'''

/**\u002f
public class p
{
    public static void main()
    {
        System.out.println("7");
    }
}
/**/

ठीक है, यह शायद थोड़े से खरपतवार हो रहा है और मुझे आशा है कि मेरे अंग्रेजी कौशल इसे सामान्य समझाने के लिए काफी अच्छे हैं।

सबसे पहले, मैं विभिन्न प्रकार की टिप्पणियों की व्याख्या करूँगा, जिनका उपयोग मैंने प्रत्येक के लिए भाषा संरचनाओं को एनकैप्सुलेट करने के लिए किया था।

तो पहले ब्लॉक लेने देता है:

/*
*??/
/

जावा के लिए यह एक बहु लाइन टिप्पणी की शुरुआत है। लेकिन ... C99 / 89 / ++ में यह मूल्यांकन करता है

/*
*/

चूँकि C में ??/वर्णक्रम के अनुसार एक ट्रिग्राफ है \, जो कि \एक तरह से सुसंगत है और यहां तक ​​कि इसकी कमांडफंक्शन में लाइन ब्रेक का भी उपभोग करता है। इसके कारण \nमधुमक्खी के टूटने के बजाय "प्रदर्शित" होने का परिणाम होता है। इसका मतलब है कि, इस बाइट सरणी को पहले ब्लॉक का प्रतिनिधित्व करते हुए: [ /] [ *] [ ] [ ] [ \n] [ *] [ ?] [ ?] [ /] [ \n] [१ /] मूल्यांकन के बाद होगा: [ /] [ *] [ \n] [ *] [ \] [ \n] [ /] जहाँ \ट्रिगर्स की सुसंगत कार्यक्षमता और "उपभोग करता है" \nइसलिए C लैंग्स द्वारा मूल्यांकन किए गए बाइट्स में शेष और अंतिम हैं: [ /] [ *] [ \n] [ *] [ /]

लेकिन इस सब के बारे में जावा कुछ भी नहीं जानता है और एक टिप्पणी के रूप में सभी इस तरह का व्यवहार करता है जब तक यह चाल वापस नहीं मिलती है।

(जारी!)


7

4 भाषाएँ (Befunge-93, Microscript II, Microscript और Foo), स्कोर 7/64 = 0.109

"4"1.@2

Befunge: पुश 4, पुश 1, प्रिंट 1, और समाप्त करें।

माइक्रोस्क्रिप्ट II: स्ट्रिंग "4" का निर्माण करें, इसे त्यागें, एक के वर्गमूल को लें, इसे त्यागें, और अंत में x को 2 पर सेट करें। यह तब निहित रूप से मुद्रित होता है।

Microscript: पुश 52 को स्टैक (जो वास्तव में कार्यक्रम के शेष के लिए कभी भी उपयोग नहीं किया जाएगा), एक से रजिस्टर (शुरुआत में शून्य) बढ़ाएं, फिर रजिस्टर को दो से बढ़ाएं। यह तब स्पष्ट रूप से मुद्रित होता है।

फू: स्ट्रिंग "4" प्रिंट करें, फिर 2 पुश करें


6

पायथन 1 | 2 | 3, 27 बाइट्स / 27 = 1

print(len("\xabc")+(1/2>0))

@ स्वेरापॉटो के संस्करण संख्याओं के उपयोग ने मुझे आश्चर्यचकित किया कि क्या कम में अजगर को अलग करना संभव था। यहाँ सबसे अच्छा मुझे मिला है।

व्याख्या

पहले संस्करणों से पायथन 3 को अलग करने के लिए, हम मानक पूर्णांक विभाजन बनाम फ्लोटिंग पॉइंट डिवीजन ट्रिक का उपयोग करते हैं। (1/2>0) == (0>0)0 प्री-पायथन 2.3 या Falseपायथन 2.3 से प्री-पर (1/2>0) == (0.5>0)लौटाता है , और True3 पायथन के लिए रिटर्न करता है ।

पायथन 1 को बाकी हिस्सों से अलग करने के लिए, हम स्ट्रिंग की लंबाई लेते हैं "\xabc", जो कि पायथन 1 में एक लंबाई और पाइथन 2 से लंबाई दो है। क्यों? चूंकि

स्ट्रिंग शाब्दिकों में \ x एस्केप अब ठीक 2 हेक्स अंक लेता है। पहले यह 'x' के बाद सभी हेक्स अंकों का उपभोग करता था और परिणाम के सबसे कम 8 बिट्स लेता था, इसलिए \ x123456 \ x56 के बराबर था।

( पायथन 2.0 में नया क्या है )


6

पायथन 3, रूबी, पर्ल, सी, सी ++, ऑब्जेक्टिव-सी 202 बाइट्स / 6 ^ 3 = 0.935 ...

यह वास्तव में काफी मज़ेदार था, और बुलियन के साथ बहुत खेल रहा था।

आप निम्न साइट पर कोड के सभी संस्करणों को दुभाषिया में कोड को कॉपी-पेस्ट करके कर सकते हैं।

#include <stdio.h> /*
print ((("0"+"0"==0)and 3) or (0and 2or 1));
__DATA__ = 1
"""""
*/
int main(){putchar(
#ifdef __OBJC__
'6'
#else
#ifdef __cplusplus
'5'
#else
'4'
#endif
#endif
);return 0;}/*
"""
#*/

पायथन 3, प्रिंट 1

चाल निम्नलिखित है:

print ((("0"+"0"==0)and 3) or (0and 2or 1));

यह छपेगा 1

रूबी, प्रिंट 2

रूबी के लिए व्याख्यायित कोड है:

print ((("0"+"0"==0)and 3) or (0and 2or 1));

तो यह प्रिंट 2

पर्ल, प्रिंट 3

पर्ल के लिए व्याख्या किया गया कोड है:

print ((("0"+"0"==0)and 3) or (0and 2or 1));
__DATA__ = 1

सबसे पहले, __DATA__टोकन पर्ल संकलक को बताता है कि संकलन समाप्त हो गया है। के बाद सब कुछ नजरअंदाज कर दिया है।

print ((("0"+"0"==0)and 3) or (0and 2or 1));

और प्रिंट करता है 3

सी, प्रिंट 4

व्याख्या कोड दूसरों से काफी अलग है:

#include <stdio.h>
int main(){putchar(
#ifdef __OBJC__
'6'
#else
#ifdef __cplusplus
'5'
#else
'4'
#endif
#endif
);return 0;}

यह केवल चार प्रिंट करेगा 4

सी ++, प्रिंट 5

C कोड के समान

यह चार छप जाएगा 5

उद्देश्य-सी, प्रिंट 6

C कोड के समान

यह चार छप जाएगा 6


5

5 भाषाएँ, 18 बाइट्स / 5 ^ 3 = 0.144

में चलाता है Brainbool , मेथेमेटिका , फू , > <> और Befunge-93

4!<n;+Print@2"3".5

Brainbool

ब्रेनबुल ब्रेनफैक की तरह है, लेकिन यह केवल बिट्स पर संचालित होता है, और इसके इनपुट और आउटपुट में केवल 0और के होते हैं 1

4!<n;+Print@2"3".5
  <                   move the pointer to the left
     +                logic not
                .     print the current cell

मेथेमेटिका

गणित में, सब कुछ एक अभिव्यक्ति है और एक मूल्य है। Print@2प्रिंट करता है 2और प्रतीक को लौटाता है Null। उसके बाद, कोड कुछ प्रतीकात्मक गणना करता है, लेकिन कुछ भी प्रिंट नहीं करता है।

फू

"3" प्रिंट 3. मुझे नहीं पता कि अन्य भाग क्या करते हैं।

> <>

4!<n;+Print@2"3".5
4                     push 4
 !                    skip the next command
   n                  pop and print it as a number
    ;                 end the program

Befunge

4!<n;+Print@2"3".5
4                     push 4
 !                    logical not
  <                   makes the program counter travel to the right
 !                    logical not
4                     push 4
                 5    push 5
                .     pop and print it as a number
             "3"      push the string "3"
            2         push 2
           @          end the program

12 भाषाएँ, 35 बाइट्स / 12 ^ 3 = 0.0202546 ...

का उपयोग करते हुए स्वेरापॉटो की चाल , सस्ता लेकिन शक्तिशाली।

ब्रेनबुल , गणितज्ञ 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0 और 10.0 , फू और > <> में चलता है

cn;+"11".Print@Floor@$VersionNumber


5

6 भाषाएँ, 38/6 ^ 3 = 0.17592̅5̅9 6

श्वेत रिक्ति , Brainfuck, रूबी, Labyrinth , फू, गंभीरता से

लीजेंड:

£: टैब

: अंतरिक्ष

§: 0x7f

puts•2;#4!@•-[>+<-----]>6.§"5"•£    
£
•£

इसमें अनपेक्षित वर्ण शामिल हैं, इसलिए यहां हेक्सडंप है:

7075747320323b23342140202d5b3e2b3c2d2d2d2d2d5d3e362e7f22352220090a090a20090a

स्पष्टीकरण:

श्वेत रिक्ति

इसे ऑनलाइन आज़माएं। (नोट: मेरा कार्यक्रम कार्यक्रम को समाप्त करने के लिए समापन तीन लाइनफीड्स को छोड़ देता है, मैंने इसे व्हिटेलिप्स पर लिखा / परीक्षण किया है और जो वहां उचित उत्पादन का उत्पादन करता है, लेकिन कोशिश ऑनलाइन पर नहीं करता है, इसलिए लिंक किए गए कार्यक्रम में उन दो पात्रों को जोड़ा गया है। जैसा कि मैं बता सकता हूं, कुछ दुभाषियों ने आपको ऐसा करने दिया, दूसरों को स्पष्ट समाप्ति के बिना एक अनंत लूप में फंस गया)

(नजरअंदाज किए गए पात्रों को छोड़कर)

spacespacespacetabenter: स्टैक पर 1 दबाएं

tabenterspacetab: स्टैक के शीर्ष पर आउटपुट

माणिक

समझाने की जरूरत नहीं होनी चाहिए। प्रिंट्स 2, उस लाइन के बाकी (एर्गो, ब्रेनफक प्रोग्राम) को एक टिप्पणी के रूप में मानता है, बाकी फाइल को खाली मानता है।

Brainfuck

इसे ऑनलाइन आज़माएं।

एक दुभाषिया की आवश्यकता होती है जो अंडरफ्लो का समर्थन करता है। पहले सेल को 255 से कम कर देता है और उसके बाद लूप काउंटर के लिए 51 उत्पन्न करता है, जो कि 3 के लिए एएससीआई कोड है।

भूलभुलैया

इसे ऑनलाइन आज़माएं।

(सुगमता के लिए अंतिम दो पंक्तियों को छोड़ना क्योंकि वे कभी नहीं पहुंचते)

puts•2;#4!@ -[>+<-----]>6.§"5"•£
puts•                            skipped
     2                           push 2 onto stack
      ;                          pop 2 from stack
       #                         push current stack depth (0) to stack
        4                        push 4 to stack
         !                       print top of stack as integer
          @                      program terminates

फू

इसे ऑनलाइन आज़माएं।

आउटपुट को प्रभावित करने वाली एकमात्र चीज "5" है, जो 5 प्रिंट करता है।

गंभीरता से

इसे ऑनलाइन आज़माएं।

puts•2;#4!@ -[>+<-----]>6.§"5"•£
puts•2;#4!@ -[>+<-----]>           assorted stack manipulation that doesn't affect this program
                        6          push 6 to the stack
                         .         output top of the stack
                          §        (0x7f) terminate program

5

5 भाषाओं, चायन , Minkolang , फू , Brainf ** k-एनजी , और Vitsy , 21/5 ^ 3 = 0,168

2|<«+!@"3".N+m

5N»

Brainf ** k-एनजी

2|<«+!@"3".N+m

5N»
  <            go left (should still be ok)
    +!         output 1
      @        halt execution

चायन

2|<«+!@"3".N+m

5N»
2              «add 2 to the current string»
 |<            «take off and put on the string (no op)»
   «           «comment»

  »
               «implicit output»

फू

2|<«+!@"3".N+m

5N»
       "3"     print three

Minkolang

2|<«+!@"3".N+m

5N»
2              C push 2 to the stack [2] C
 |             C mirror C
2              C push 2 to the stack [2,2] C
             m C ignored C
            +  C add top two [4] C
           N   C output C
          .    C terminate program C

Vitsy

2|<«+!@"3".N+m

5N»
2              push 2
 |             mirror
2              push 2
             m pop 2, goto line 2
5              push 5
 N             output 5
  »            ignored

मैं संभवतः> <> या कुछ और जोड़ सकता हूं।


1
तुम्हें पता है, मैंने कभी दर्पण के लिए एक अच्छा उपयोग नहीं पाया है। xD
Addison Crump

5

क्रैनफ्लैक , ब्रेन-फ्लैक क्लासिक , रेन-फ्लैक , ब्रेनहैक , ब्रेन-फ्ल्यू , मिनीफ्लक , मिनीहैक : .10

(([]()()()<()()()>)()()){}#{}({}())

इसे ऑनलाइन आज़माएं!

व्याख्या

यहां पर पहली बात यह है कि ब्रेनहैक, क्रेनफ्लक और रेन-फ्लैक दुभाषियों के बीच टिप्पणियों को पढ़ने के तरीके में अंतर है। Craneflak की कोई टिप्पणी नहीं है, रेन-फ्लैक #टिप्पणियों में बाकी की रेखा और ब्रेनहैक #{...}टिप्पणियों में इनसाइड्स हैं ।

तो यहाँ क्या प्रत्येक भाषा पढ़ता है:

Rain-Flak: (([]()()()<()()()>)()()){}         -> 3
BrainHack: (([]()()()<()()()>)()()){}({}())   -> 4
Craneflak: (([]()()()<()()()>)()()){}{}({}()) -> 1

अगली बात मस्तिष्क-फ़्लेक्स और मिनीफ़्लैक्स के बीच का अंतर है। रेन-फ्लैक और ब्रेनहैक दोनों मिनिफ़्लैक का समर्थन करते हैं, जहां सभी अतिरिक्त संचालन बस हटा दिए जाते हैं। इसका मतलब है कि वे हार गए []और<...>

Rain-Flak: (()()()()()())         -> 6
BrainHack: (()()()()()())({}())   -> 7

आगे हमारे पास ब्रेन-फ्लैक और ब्रेन-फ्लैक क्लासिक के बीच अंतर है। क्लासिक में []है-1 ढेर ऊंचाई, जिसका अर्थ है कि हमारे परिणाम, 1 नियमित वर्षा आलोचना की तुलना में कम है, यह 2 बनाने के बजाय।

अन्त में हम मस्तिष्क-परत और मस्तिष्क-प्रवाह के बीच अंतर करते हैं। ब्रेन-फ्ल्यू में एक स्टैक के बजाय एक कतार का उपयोग किया जाता है। आम तौर पर ब्रेन-फ्लैक 3 तो 5 को धक्का देता है और 5 को दूर करता है, हालांकि ब्रेन-फ्ल्यू में पॉप 3 से नहीं बल्कि 5 से छुटकारा पाता है।


4

मिल्की वे 1.0.2 , सीजेएम और एसटीएक्सटीआरएम , 20 बाइट्स / 3 ^ 3 = 0.741

मुझे लगता है कि कम से कम एक अन्य भाषा है जिसे मैं जोड़ सकता हूं।

'2"3""1"1<<1>;;"2"3;

व्याख्या


मिल्की वे ,1

मिल्की वे में, तारों को केवल दोहरे उद्धरण चिह्नों द्वारा दर्शाया जाता है। एक एकल उद्धरण कमांड लाइन से इनपुट पढ़ता है; यदि कोई नहीं है, तो यह एक खाली स्ट्रिंग को धक्का देता है। संकेतों से अधिक और कम क्रमशः पूरे स्टैक को दाएं और बाएं घुमाएगा। अंत में, एक अर्धविराम शीर्ष दो स्टैक तत्वों को स्वैप करता है।

यहाँ एक स्टैक विज़ुअलाइज़ेशन है (स्टैक दिखाया गया है कि यह होने के बाद सूचीबद्ध ऑपरेशन का परिणाम है):

["", 0]                                             #  default stack

["", 0, ""]                                 #   '   #  read input from command line
["", 0, "", 2]                              #   2   #  push 2 to the stack
["", 0, "", 2, "3"]                         #  "3"  #  push "3" to the stack
["", 0, "", 2, "3", "1"]                    #  "1"  #  push "1" to the stack
["", 0, "", 2, "3", "1", 1]                 #   1   #  push 1 to the stack
[0, "", 2, "3", "1", 1, ""]                 #   <   #  rotate the stack leftwards
["", 2, "3", "1", 1, "", 0]                 #   <   #  rotate the stack leftwards
["", 2, "3", "1", 1, "", 0, 1]              #   1   #  push 1 to the stack
[1, "", 2, "3", "1", 1, "", 0]              #   >   #  rotate the stack rightward
[1, "", 2, "3", "1", 1, 0, ""]              #   ;   #  swap the top two stack elements
[1, "", 2, "3", "1", 1, "", 0]              #   ;   #  swap the top two stack elements
[1, "", 2, "3", "1", 1, "", 0, "", 2]       #  "2"  #  push 2 to the stack
[1, "", 2, "3", "1", 1, "", 0, "", 2, "3"]  #   3   #  push "3" to the stack
[1, "", 2, "3", "1", 1, "", 0, "", "3", 2]  #   ;   #  swap the top two stack elements

CJam ,2

CJam में, डबल उद्धरण जोड़े द्वारा स्ट्रिंग्स को भी दर्शाया जाता है। एक एकल उद्धरण निम्नलिखित वर्ण के वर्ण कोड को धकेलता है। जब एक वर्ण कोड आउटपुट होता है, तो यह उसके संबंधित वर्ण के रूप में आउटपुट होता है। ग्रेटर-से और कम-से-कम संकेत शीर्ष दो स्टैक तत्वों के क्रम का मूल्यांकन करते हुए, अपेक्षा के अनुसार कार्य करते हैं। अंत में, एक अर्धविराम शीर्ष स्टैक तत्व को जोड़ता है। कार्यक्रम की समाप्ति पर, स्टैक की सामग्री आउटपुट होती है।

यहाँ एक स्टैक विज़ुअलाइज़ेशन है (स्टैक दिखाया गया है कि यह होने के बाद सूचीबद्ध ऑपरेशन का परिणाम है):

[]                         #  default stack

['2]               #  '2   #  push the character code of "2" to the stack
['2, "3"]          #  "3"  #  push "3" to the stack
['2, "3", "1"]     #  "1"  #  push "1" to the stack
['2, "3", "1", 1]  #   1   #  push 1 to the stack
['2, "3", "1"]     #   <   #  leave the greater of the top two stack elements on the stack
['2, 0]            #   <   #  leave the greater of the top two stack elements on the stack
['2, 0, 1]         #   1   #  push 1 to the stack
['2, 1]            #   >   #  leave the lesser of the top two stack elements on the stack
['2]               #   ;   #  pop the top stack value
[]                 #   ;   #  pop the top stack value
['2]               #  "2"  #  push the character code of "2" to the stack
['2, "3"]          #   3   #  push "3" to the stack
['2]               #   ;   #  pop the top stack item

STXTRM ,3

MSM में, कुछ भी जो ऑपरेटर नहीं है उसे एक चरित्र के रूप में स्टैक में धकेल दिया जाता है। एक अर्धविराम शीर्ष स्टैक तत्व को डुप्लिकेट करता है। कार्यक्रम तब तक जारी रहता है जब तक कि कोई अधिक ऑपरेटर न हों, या स्टैक पर एक ही तत्व हो।

स्टैक पर अंतिम वर्ण है 3, जिसे अंतिम ऑपरेटर द्वारा दोहराया गया है। 3कार्यक्रम के अंत में सबसे ऊपरी तत्व है, इसलिए यह आउटपुट है।


4

5 भाषाएँ, 18 बाइट्स / 5 ^ 3 = 0.144

ऑरोबोरोस , पिप , क्यूबेसिक , फू , और पायथ

5'"4"()"
1?3'@n()2

1. ऑरोबोरोस

कार्यक्रम की प्रत्येक पंक्ति अपनी पूंछ खाने वाले सांप का प्रतिनिधित्व करती है।

साँप १

पुश 5, 'एक नो-ऑप, पुश 52(ASCII कोड "4") है। (सांप एक नंबर को पॉप करने और उसकी पूंछ के कई पात्रों को खाने का कारण बनता है। चूंकि यह निर्देश सूचक (और पूरे सांप) को निगलने में परिणाम होता है, इसलिए निष्पादन रुक जाता है।

साँप २

पुश 1, एक यादृच्छिक संख्या ( ?) धक्का 3, धक्का , 'एक सेशन नहीं है। स्टैक के शीर्ष पर @घूमता है 1और स्टैक के शीर्ष पर nछोड़ते हुए, इसे एक संख्या के रूप में आउटपुट करता है 3। फिर (सांप के अंत से इस कई पात्रों को खाता है, निर्देश सूचक और रुकने को निगलता है।

इस कार्यक्रम को आप यहां स्टैक स्निपेट दुभाषिया में ऑनलाइन चला सकते हैं

2. पिप

अधिकांश कार्यक्रम में ऐसे भाव होते हैं जिनका मूल्यांकन और त्याग किया जाता है:

  • 5
  • '" (चरित्र शाब्दिक)
  • 4
  • "()"
  • 1?3'@ (टर्नरी अभिव्यक्ति)
  • n (वैरिएबल, = न्यूलाइन)
  • () (शून्य)

अंत में, अंतिम अभिव्यक्ति, 2मुद्रित होती है।

3. QBasic

सब कुछ के बाद 'एक टिप्पणी है। पहली पंक्ति इस प्रकार 5, एक पंक्ति संख्या तक उबल जाती है । दूसरी पंक्ति में, 1एक पंक्ति संख्या है और इसके ?3लिए एक शॉर्टकट है PRINT 3

(स्पष्ट रूप से लाइन नंबर आउट ऑफ़ ऑर्डर होना कोई समस्या नहीं है, हालाँकि इसे ठीक करना आसान होगा।)

4. फू

लगभग सब कुछ नो-ऑप्स है। "4"प्रिंट करता है 4। कोष्ठक (x2) एक लूप है जो वर्तमान सरणी सेल शून्य होने तक चलता है, जो तुरंत सत्य है और लूप बाहर निकलता है। @, जब एक संख्या का पालन नहीं किया जाता है, तो वर्तमान सरणी सेल का मान लेता है (0 के लिए प्रारंभिक) और इसे स्टैक पर धकेल दिया जाता है।

मुझे पूरी तरह से यकीन नहीं है कि दूसरे, बेजोड़ "को कैसे संभाला जाना चाहिए। ऑनलाइन संस्करण उत्पादन है, जो चुनौती के नियमों अनुमति देने के लिए एक नई पंक्ति जोड़ने के लिए लगता है।

5. पायथ

5आउटपुट है। फिर प्रोग्राम का सामना होता है '"4", जो नाम की फ़ाइल से पढ़ने की कोशिश करता है 4। जब तक ऐसी कोई फ़ाइल मौजूद नहीं है, मुझे लगता है कि इस कार्यक्रम को एक त्रुटि के साथ समाप्त करना चाहिए। ( ऑनलाइन संस्करण कहता है name 'open' is not defined- मुझे लगता है क्योंकि फ़ाइलों को खोलने की अनुमति ऑनलाइन नहीं है।)

"पंक्ति 1 के अंत में भटका सुनिश्चित करता है कि लाइन 2 निष्पादन से पहले वाक्यविन्यास त्रुटि का कारण नहीं बनता है।



@ डेनिस धन्यवाद! Esolangs पृष्ठ में उस दुभाषिया का लिंक नहीं था।
DLosc

यहाँ वर्तमान में उपलब्ध भाषाओं का सूचकांक है। यदि आप कभी भी मुझे एक जोड़ना चाहते हैं, तो बस मुझे चैट में पिंग करें।
डेनिस

4

4 भाषाएँ, 24 बाइट्स, 24/4 ^ 3 = 0.375

print(1//0.5--1+1/2*2
);

1. PHP

PHP निष्पादित करता है print(1);जो 1 के बराबर है

2. लुआ

Lua निष्पादित करता है print(1//0.5);जो 2 के बराबर है

3. अजगर 2

अजगर 2 निष्पादित करता है print(1//0.5--1+1/2*2);जो 3 (पूर्णांक विभाजन) के बराबर होता है

4. पायथन 3

अजगर 3 निष्पादित करता है print(1//0.5--1+1/2*2);जो 4 के बराबर होता है (फ्लोट डिवीजन)


अच्छा उत्तर, मुझे पारंपरिक भाषाओं में उत्तर पसंद हैं :-) आशा है कि आप ppcg पर मजेदार गोल्फिंग करेंगे :-) कृपया मेरी पिछली चुनौतियों में से कोई भी आज़माएं यदि आपको लगता है कि वे दिलचस्प हैं :-) कुछ मुश्किल हैं और कुछ अधिक हैं बुनियादी :-)
स्टिव ग्रिफिन

आप चुनौती में वर्णित खुले 100 प्रतिनिधि इनाम में दिलचस्पी ले सकते हैं। आउटगॉल्फ Sp3000 (28 बाइट्स, 4 भाषाएँ) केवल पारंपरिक भाषाओं (लिंक में परिभाषित) का उपयोग करते हुए और यह आपका है :-) दुर्भाग्य से अजगर 2 और 3 बाउंटी चुनौती में अद्वितीय नहीं माने जाते हैं।
स्टिव ग्रिफ़िन

3

ब्रेनफक-एनजी, फू,> <>, 9 बाइट्स / 3 ^ 3 = 0.333 ...

#+!"2";n3

Brainfuck-एनजी

केवल पात्रों में पहचानता हैं +और !:

+ Increment cell by one
! Print as integer

प्रिंटों 1

फू

सब कुछ उद्धरण में प्रिंट करता है।

"2"

प्रिंटों 2

> <>

#बाईं ओर बिंदु को दर्पण करता है, 3 को स्टैक पर 3धकेलता है , इसे पूर्णांक के रूप में आउटपुट करता है, प्रोग्राम को रोकता है।n;

#      ;n3

2

3 भाषाएँ, 82 83/3 ^ 3 = 3.074 ...

में काम करता है ??? , व्हॉट्सएप , और बीटनिक । या बल्कि, यह उन भाषाओं में काम करना चाहिए लेकिन मैं कुछ दिनों के लिए उन्हें परीक्षण करने में सक्षम नहीं होने जा रहा हूं। वैसे भी, यहाँ कोड है:

K... Jax... Jy... Jy...   ...
My...    My...
... ...     ......................XO!

1. ???

.................................................!

??? मूल रूप से दिमागदार है लेकिन यह पारंपरिक वर्णों के बजाय सामान्य विराम चिह्नों का उपयोग करता है। .वर्तमान मेमोरी सेल को बढ़ाता है, जो 49 बार किया जाता है। !वर्तमान मेमोरी सेल लेता है और इसे एक चरित्र के रूप में प्रिंट करता है, यहां 1

2. व्हॉट्सएप

[Space][Space][Space][Tab][Line Feed]
[Tab][Line Feed]
[Space][Tab]

व्हॉट्सएप एक ऐसी भाषा है जो सभी गैर-व्हाट्सएप पात्रों को नजरअंदाज करती है। यहाँ मैंने इसे आसानी से पढ़ने योग्य रूप में परिवर्तित कर दिया है। पहली पंक्ति 2स्टैक पर धकेलती है , और दूसरी दो लाइनें स्टैक के शीर्ष को एक संख्या के रूप में प्रिंट करती हैं, यहां 2
ध्यान दें कि संयुक्त कोड में, मैंने तकनीकी सीमाओं के कारण चार स्थानों के साथ टैब प्रतिस्थापित किया है।

3. बीटनिक

K Jax
Jy Jy
My My
XO

बीटनिक एक ऐसी भाषा है जहां प्रत्येक शब्द को अपने स्क्रैबल स्कोर में बदल दिया जाता है, फिर उन अंकों की व्याख्या कमांड के रूप में की जाती है। पहली पंक्ति 17स्टैक पर धकेलती है । दूसरी पंक्ति दो बार स्टैक के शीर्ष को दोहराती है और तीसरी पंक्ति स्टैक के तत्वों को दो बार एक साथ जोड़ती है, प्रभावी रूप से ट्रिपलिंग 17में 51। पिछली पंक्ति स्टैक के शीर्ष पर चरित्र को प्रिंट करती है, यहां 3
ध्यान दें कि मैं बीटनिक का उपयोग अंकित मूल्य पर कर रहा हूं, यह मानते हुए कि मूल बीटनिक विनिर्देश में कोई त्रुटि नहीं है। यह भी ध्यान दें कि मैं उत्तर अमेरिकी अंग्रेजी स्क्रैबल स्कोरिंग प्रणाली का उपयोग कर रहा हूं।

यदि यह अब तक स्पष्ट नहीं है, तो इनमें से प्रत्येक भाषा केवल एक निश्चित प्रकार के चरित्र (विराम चिह्न, व्हाट्सएप, और पत्र, क्रमशः) को स्वीकार करती है, इसलिए इस बहुभाषाविद को लिखना व्यक्तिगत कार्यक्रमों को लिखना जितना आसान था। बीटनिक से शब्दों को अलग करने के लिए एकमात्र वास्तविक "ट्रिक" व्हॉट्सएप कोड का उपयोग कर रहा है। इससे परे, व्यक्तिगत कार्यक्रम जो भी ओवरलैप नहीं करते हैं।


2
3 ^ 3 = 27 ==> 82/27 = 3.037037037037037 ...
AdmBorkBork

1
आपका व्हाट्सएप कोड 0 प्रिंट करता है, न कि 2. यहां और यहां परीक्षण किया गया ।
डेनिस

@ डेनिस धन्यवाद, मैंने साइन बिट को छोड़ दिया था।
माइक ब्यूफेरेसी

2

5 भाषाएँ, 175/5 ^ 3 = 1.4

मैंने एक अलग उत्तर पोस्ट करने का फैसला किया क्योंकि बाउंटी आवश्यकताओं को इस तरह से बदल रहा है जिससे मुझे अपने पहले उत्तर के साथ अनिश्चितता महसूस हो रही है (लेकिन जो अभी भी मुझे जेनरल चालान के तरीके से संतुष्ट कर रहा है!)

तो यहाँ मेरा समाधान है कि इनाम चालान के लिए योग्य है:

में संकलित करता है

  • C99
  • objC90
  • C ++ 0x
  • माणिक
  • पर्ल
#if __cplusplus
#define x\
=begin\
=pod
#endif
int a=
#ifndef x
1//**/
+1
#else
3
#endif
;int main(){printf("%d",a);}
#ifdef f
=end
puts 5;
=begin
=cut
print"4";
=end
#endif

2

3 भाषाएं, 15 बाइट्स, स्कोर 0.555 ...

बाद में और भाषाएं जोड़ते हैं।

2//1+1#😅😨

1. इमोटिनोमिकॉन

Emotinomicon बहुत किसी भी पाठ की उपेक्षा करता है जो एक स्ट्रिंग नहीं है। 😅संख्या 1 के 😨रूप में टीओएस को स्टैक और आउटपुट के लिए धक्का देता है ।

2. जावास्क्रिप्ट

जावास्क्रिप्ट में टिप्पणियाँ शुरू होती हैं //, इसलिए केवल 2भाग निष्पादित होता है।

3. अजगर 2/3 आरईपीएल

पायथन में टिप्पणियाँ शुरू होती हैं #, इसलिए केवल 2//1+1भाग निष्पादित होता है। //Python 3 में पूर्णांक विभाजन है, और यह /Python 2 के समान है । 2 1 से विभाजित 2, प्लस 1 3 है।


2

4 भाषाएं, 97 बाइट्स, 0.37890625

s="1";s=~-3;2//2;'''/.to_s.ord;"=;print 4;
__DATA__
=1;
";#'''#";print=s=>console.log(3)
print(s)

माणिक

यह सेट sकरने के लिए "1", का उपयोग कर की तुलना =~के खिलाफ -3एक शून्य संदर्भ में विभाजित करने के लिए कोशिश करता है 2के द्वारा /2;'''/.to_s.ordतो युक्त एक नया स्ट्रिंग शुरू होता है =;print 4; __DATA__ =1;, एक टिप्पणी मारता है, तो printरों sजो अभी भी है 1

अजगर

सेट sकरने के लिए "1"ऊपर के अनुसार, तो यह सेट फिर से करने के लिए ~-3जो है 2। हम एक पूर्णांक विभाजन चलाते हैं 2//2, फिर एक डॉकस्ट्रिंग युक्त होता है /.to_s.ord;"=;print 4; __DATA__ =1; ";#, उसके बाद एक टिप्पणी, अंत में printआईएनजी s, जो अभी भी है 2

जावास्क्रिप्ट

सेट sकरने के लिए "1"तो इसे फिर से सेट ~-3के रूप में ऊपर प्रति है, तो वहाँ 2एक टिप्पणी के बाद लाइन पर। फिर हम चर __DATA__को सेट करते हैं 1। एक छोटी स्ट्रिंग होती है जिसमें ;#'''#फ़ंक्शन की परिभाषा होती है printजो आउटपुट को 3 होने के लिए हार्डकोड करती है, जिसे अगली पंक्ति में कहा जाता है।

पर्ल

एक प्रतिस्थापन के बराबर चलता है s/"1";s/~-3;2\/\/2;'''\/.to_s.ord;"/, printएस 4और बाकी स्ट्रिंग __DATA__पहचानकर्ता के पीछे नकाबपोश होता है ।


2

QBasic, QBIC और> <>, 18 बाइट्स / 3 ^ 3 भाषाएँ = 0.66666 अंक

1:?v+1'-5`
''`>3n;

टूट - फूट:

1. QBasic ( आईडीई प्राप्त करें )

1:          Line number 1
  ?         Print
   v+1      undefined var v = 0 + 1 = 1
'-5`        The rest of theis code is a QBasic comment
''`>3n;     As is this

2. QBIC ( दुभाषिया प्राप्त करें )

1     inserts a 1 in the code - mostly harmless
:     Reads from the cmd line. Nothing there, creates an empty variable a
?     Print
v+1   v is initialised to 6, +1 = 7
'     Code Literal: everything till the ` is passed to QBasic without processing
 -5`  7-5 = 2

''`>3n; Code literal with the first literal being a ': comment in QBasic

3. <<> ( इसे ऑनलाइन आज़माएं )

1:  Push a 1 on the stack, duplicate stack
?   Pop top off the stack and skip next instruction if that's a 0
v   Move downwards - rest of the line is ignored

>   move to the right
3   Push 3 onto the stack
n   Print the top of the stack as a number
;   End the program

1
मुझे लगता है कि आप अपने स्कोर में भाषाओं की संख्या को कम करना चाहते हैं (यानी। 18 / (3 ^ 3))
गणित दीवाने

1

जावास्क्रिप्ट, HTML और PHP, 72 बाइट्स / 3 ^ 3 = 2.67

1<!top?2:2//><!--<?='--'.'><script>document.body.innerHTML=3</script>'?>

HTML में, यह अग्रणी 1 को प्रिंट करेगा, <!window?2:2//>टैग को अनदेखा करेगा , और बाकी एक HTML टिप्पणी है।

जावास्क्रिप्ट में, यह 1<!window?2:22 का मूल्यांकन और आउटपुट करता है (यह एक कंसोल में चलाया जाना चाहिए) और बाकी एक टिप्पणी है।

PHP में, सर्वर से निम्न आउटपुट है: 1<!top?2:2//><!----><script>document.body.innerHTML=3</script>जो HTML के 1साथ बदल देता है 3


1
PPCG.SE में आपका स्वागत है! महान पहली पोस्ट! दो बातें: हम आम तौर पर REPL- आधारित उत्तर (जावास्क्रिप्ट प्रोग्राम) पसंद नहीं करते हैं। इसके अतिरिक्त, जब मैं इसे एक ऑनलाइन दुभाषिया में डालता हूं, तो PHP कोड नहीं चलता है, PHP वास्तव में कैसे काम करता है?
GamrCorps 22

धन्यवाद! खैर, यह तकनीकी रूप से PHP + HTML (यानी। यदि यह code.php के लिए स्रोत कोड है, तो एक ब्राउज़र में साइट / code.php पर जाकर 3. प्रदर्शित होता है
cuniculus

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