Polyglot (गैर स्थिर) OEIS!


24

डिस्क्लेमर: यह "पॉलिग्लॉट द ओईआईएस!" से काफी प्रेरित है लेकिन समस्या को हल करता है जो बंद करने के लिए नेतृत्व करता है (आउटपुट अनुभाग देखें) और फिर से पोस्ट किया गया था ताकि उत्तर अमान्य न हों।

परिचय

हम सभी पूर्णांक अनुक्रमों ( OEIS ) के ऑन-लाइन विश्वकोश को जानते हैं और उससे प्यार करते हैं । तो क्या हुआ अगर हमने दिलचस्प दृश्यों का एक ऑफ-लाइन संस्करण बनाया है ? खैर, यह बहुत आसान होगा, यह नहीं होगा और आप हमारे मानक इंटरफ़ेस के साथ एक क्रम कैसे चुनेंगे !? नहीं, हमें इसके लिए एक आसान समाधान की आवश्यकता है। एक बहुवचन!

इनपुट

आपका इनपुट एक गैर-नकारात्मक पूर्णांक होगा n

उत्पादन

आपका आउटपुट या तो होगा

  • nएक OEIS अनुक्रम के मई के प्रवेश या
  • nOEIS अनुक्रम की पहली प्रविष्टियाँ।

जैसा कि आप पसंद करते हैं आप इंडेक्स को 1-आधारित या 0-आधारित हो सकते हैं।

इस प्रश्न को दोहराव नहीं देने के लिए बहुमुखी पूर्णांक प्रिंटर निरंतर अनुक्रमों पर प्रतिबंध लगाया गया है। यह सबमिशन के कठिनाई स्तर को भी बढ़ाता है और "उबाऊ" समाधानों से बचना चाहिए;)

एक अनुक्रम गैर-स्थिर है यदि दो अनुक्रम सदस्य मौजूद हैं जो असमान हैं।

उम्म, तो चैलेंज कहां है?

आपको उपरोक्त कार्यक्षमता को बहुविकल्पी करना होगा। यदि आप A, B और C भाषाओं का समर्थन करते हैं, तो सभी को अलग-अलग OEIS दृश्यों को लागू करना चाहिए। अनुक्रम का विकल्प सीमित नहीं है सिवाय इसके कि आपको सभी भाषाओं के लिए अलग-अलग की आवश्यकता है।

यही है, यदि आप प्रदान किए गए प्रोग्राम को भाषा ए में चलाते हैं, तो अनुक्रम X उत्पन्न होगा, यदि आप दिए गए प्रोग्राम को भाषा B में चलाते हैं, तो अनुक्रम Y को उत्पन्न किया जाएगा (X! = Y के साथ) और यदि आप दिए गए प्रोग्राम को चलाते हैं तो! भाषा C में, तब अनुक्रम Z उत्पन्न होगा (X! = Z && Y! = Z के साथ)।

किसी जीत?

सबसे अनुक्रम / भाषा जोड़े के साथ उत्तर जीतता है। पहला टाई-ब्रेकर कम आकार का (बाइट्स में) कोड-आकार में बेहतर होता है। दूसरा टाई-ब्रेकर पहले से बेहतर होने के साथ समय जमा कर रहा है।

कोई अंतिम शब्द / नियम?

  • आपको यह घोषित करना होगा कि कौन सी भाषा किस अनुक्रम को उत्पन्न करेगी।
  • मानक I / O नियम लागू होते हैं।
  • यदि भाषाओं के बीच अलग-अलग एन्कोडिंग का उपयोग किया जाता है, तो दोनों कार्यक्रमों को एक ही बाइट-अनुक्रम का उपयोग करना चाहिए।
  • भाषा (अजगर 2/3) संशोधन करते अलग-अलग भाषाओं के रूप में गिनती। किसी भाषा के अलग-अलग कार्यान्वयन (जैसे ब्राउज़र JS बनाम Node.js) भी विभिन्न भाषाओं में गिने जाते हैं।
  • मानक खामियां लागू होती हैं।

4
यह पोस्ट इसी मेटा क्यू एंड ए के अनुसार किया गया था ।
SEJPM

क्या अलग-अलग भाषाओं में अलग-अलग इंडेक्सिंग हो सकती है?
स्टीफन

2
@StepHen हाँ वे कर सकते हैं।
SEJPM

जवाबों:


16

3 भाषाएँ (1 बाइट) - पायथ ( A001477 ), MATL ( A000027 ), ब्रिंगोल्फ ( A000217 )

Q

कैसे?

Q निम्नलिखित कार्य करता है:

  • MATL में, इसका मतलब है + 1, इसलिए यह मूल रूप से मूल्यांकन करता है input + 1

  • Pyth में, इसका मतलब इनपुट होता है, इसलिए यह सिर्फ इनपुट को आउटपुट करता है।

  • ब्रिंगोल्फ में, यह त्रिकोणीय संख्याओं के लिए अंतर्निहित है।

मिनी बहुभाषी

Pyth को निम्नलिखित भाषाओं में से किसी भी भाषा से बदला जा सकता है: GolfScript , Pyke , Brachylog या Brain-Flak


1
अच्छी तरह से आपने निश्चित रूप से इस एक के लिए सही भाषाओं को चुना है +1: P
हाइपरएनुट्रिनो

1
@ हाइपरयुट्रीनो मैंने अपना उत्तर वहीं से दिया, लेकिन मैंने बहुत अच्छी भाषाओं को फिर से चुना, इसलिए हाँ: पी - धन्यवाद!
श्री Xcoder

याद रखें, यह भाषाओं की संख्या है, कोड-गोल्फ नहीं: पी
स्टीफन

@ मुझे लगता है कि 3 उचित है।
श्री एक्सकोडर

14

10 भाषाएं, 122 बाइट्स

#|A=1:0;~@}{\,[.,];oi
#coding:utf-8
print (0 and gets.to_i-1 or int(input())**(2+(1/2>0)));quit()#⎚I±N»
# x
#x%:+.

मैं निश्चित रूप से एक गुच्छा और जोड़ सकता हूं। 1-अनुक्रमित जब तक अन्यथा निर्दिष्ट न हो।

ध्यान दें कि मैं TIO लिंक पर अप-टू-डेट नहीं हो सकता हूं जब मुझे यकीन है कि नए परिवर्तन पुराने कार्यक्रमों को प्रभावित नहीं करते हैं - यदि आप चाहते हैं तो आप उन्हें परीक्षण कर सकते हैं, लेकिन हर बार जब मैं एक बदलाव करता हूं तो 10+ नए TIO लिंक कॉपी करता हूं। थोड़ा थक जाने के बाद। मैं हर 5 अद्यतन या तो नए लोगों को कॉपी करूँगा।

cQuents v0, A000007

प्रासंगिक कोड: #|A=1:0;

#|Aइनपुट पकड़ता है और पाइथन टिप्पणियों के लिए है। =1मतलब पहला आइटम है 1, :0मतलब बाकी हैं 0, nवें दिए गए इनपुट को टर्म आउटपुट करता है n। cQuents v0 में एक अजीब बग / विशेषता है कि जब एक अप्रत्याशित लेकिन वैध टोकन, जैसे कि ;पढ़ा जाता है, तो यह समाप्त होने का कारण बनता है।

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

पिंगपोंग , ए 001478

प्रासंगिक कोड: #|A=1:0;~@

निर्गम कोड के माध्यम से आउटपुट। 0 अनुक्रमित।

#अगले चार को छोड़ देता है। =यहाँ कुछ नहीं करता है। 1धक्का देता है 1, और STDOUT को :प्रिंट 1करता है। 0धक्का देता है 0)कुछ नहीं करता। ;इनपुट, ~चबूतरे और धकेलता है -n-1@समाप्त हो जाता है। निकास कोड स्टैक के ऊपर है।

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

axo , A001477

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

0 अनुक्रमित। }पढ़ता है और STDIN से एक पूर्णांक को धकेलता है (किसी कारण के लिए नई {रेखा की आवश्यकता होती है), स्टैक के शीर्ष को प्रिंट करता है, और \प्रोग्राम को समाप्त करता है। मुझे यकीन नहीं है कि पूर्ववर्ती चरित्र क्या करते हैं, लेकिन इस मामले में कुछ भी मायने नहीं रखता है।

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

brainfuck, A000027

प्रासंगिक कोड: ,[.,]

Esolangs.org से सरल बिल्ली कार्यक्रम। इनपुट आउटपुट।

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

> <>, A000030

प्रासंगिक कोड: #...;oi

#दर्पण और दाईं ओर लपेटता है, जो इसे पढ़ने के लिए निर्देशित करता है io;, जो इनपुट के पहले चरित्र को आउटपुट करता है। 0 अनुक्रमित।

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

रूबी, A023443

प्रासंगिक कोड: print (0 and gets.to_i-1...)

0 अनुक्रमित। इनपुट माइनस को प्रिंट करता है 1. 0रूबी में सत्य है, लेकिन पायथन में गलत है।

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

पायथन 3, ए 1000578

प्रासंगिक कोड: print (0 and gets.to_i-1 or int(input())**(2+(1/2>0)));quit()

HyperNeutrino की मूल पोस्ट से दूर, लेकिन यह एक बहु-प्रसिद्ध बहुवचन है। quit()कार्यक्रम समाप्त करता है।

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

अजगर 2, A000290

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

#coding:utf-8
print (0 and gets.to_i-1 or int(input())**(2+(1/2>0)));quit()

#coding:utf-8काम करने के लिए चारकोल सामान की आवश्यकता है। हाइपरन्यूट्रिनो के मूल पोस्ट से भी फट गया। quit()कार्यक्रम समाप्त करता है।

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

चारकोल, A001489

प्रासंगिक कोड: ⎚I±N»

0 अनुक्रमित। कंसोल को साफ़ करता है (चारकोल ASCII-as के रूप में प्रिंट करता है) और I±Nइनपुट के नकारात्मक को प्रिंट करता है। »एक पार्स त्रुटि है और कार्यक्रम को समाप्त करता है।

चैट में मदद के लिए केवल ASCII का धन्यवाद।

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

कार्डिनल, A020725

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

 x
x%:+.

इनपुट में 1 जोड़ता है, और अन्य सभी बिंदुओं को स्क्वैश करता है।

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


ऐसा लगता है कि पिंगपोंग के लिए निकास कोड TOS है, यह 2 ^ 32 पर लपेटता है जैसा कि 64-बिट पूर्णांक पूर्णांक से अपेक्षित होगा।
जोनाथन एलन

@JonathanAllan शांत, धन्यवाद।
स्टीफन

क्या आपको वास्तव में एक पार्स त्रुटि के साथ बाहर निकलने की आवश्यकता है यदि चारकोल कोड पहले से ही कार्यक्रम के अंत में है?
एमडी एक्सएफ

@MDXF नहीं, मैं (am) अंत में अधिक जोड़ने की योजना बना रहा था
स्टीफन

10

5 भाषाएँ ( 05AB1E , वास्तव में , सीजाम , जेली , MATL ), 7 बाइट्स

UD>li)+

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

  • 05AB1E : अनुक्रम A000027 (सकारात्मक पूर्णांक: a ( n ) = n ; 1-आधारित)
  • वास्तव में : अनुक्रम A023443 (गैर नकारात्मक पूर्णांक सहित 1: a ( n ) = n ;1; 0-आधारित)
  • Cjam : अनुक्रम A020725 (1 को छोड़कर सकारात्मक पूर्णांक: a ( n ) = n +1; 1-आधारित)
  • जेली : अनुक्रम A005843 (गैर-नकारात्मक सम संख्या: a ( n ) = 2 * n ; 0-आधारित)
  • MATL : अनुक्रम A000290 (वर्ग: a ( n ) = n 2 ; 1-आधारित)। आउटपुट उत्पन्न करने के बाद एक त्रुटि के साथ बाहर निकलता है।

7

3 भाषाएँ: प्रोटॉन, ए 1000583 ; पायथन 3, ए 1000578 ; अजगर 2, A000290

प्रोटॉन , 49 बाइट्स

print(int(input())**(2+(1/2>0)+((''',''')!=',')))

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

पायथन 3 , 49 बाइट्स

print(int(input())**(2+(1/2>0)+((''',''')!=',')))

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

पायथन 2 , 49 बाइट्स

print(int(input())**(2+(1/2>0)+((''',''')!=',')))

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

व्याख्या

प्रोटॉन में '''...'''तार नहीं होते, इसलिए (''',''')वह बन जाता है ('' ',' ''), जो किसी भी तरह के मुद्दों का कारण नहीं बनता है। यह मूल्यांकन करने के लिए '', (''',''')!=','मूल्यांकन करने के लिए मूल्यांकन करता है True

पाइथन में ये तार होते हैं, इसलिए (''',''')बस ','इतना ही (''',''')!=','मूल्यांकन होता है False

अजगर 2 पूर्णांक के लिए फर्श विभाजन का उपयोग करता है, इसलिए 1/2>0पायथन 2 में गलत है और पायथन 3 में सच है।


यदि आप पायथन लाइन को चालू करते हैं तो आप कुछ और लैंग को जोड़ सकते हैं 1//1;print(int(input())**(2+(1/2>0)+((''',''')!=',')));quit()और फिर जावास्क्रिप्ट जैसी भाषाओं को जोड़ सकते हैं
स्टीफन

@StepHen ज़रूर, जो काम कर सकता है, धन्यवाद। मैं एक बार जब मैं जावास्क्रिप्ट जोड़ने के लिए चारों ओर हो जाएगा: P
HyperNeutrino

6

5 भाषाएँ, 107 बाइट्स

s=1/2;1//2;q=int(input())*([2,3][s>0]);"""/.__id__;'
alert(+prompt()+1);`"""#=;#';q=gets
print(q)#)|<>%2)#`

पर्ल: A000035

=एक सीमांकक के रूप में उपयोग करने का s///अर्थ है कि हम आसानी से उस कोड को बाहर नहीं कर सकते हैं जिसे हम नहीं चाहते हैं, और अन्य सभी भाषाओं में आईएनजी के बाद )सीमांकक के रूप में उपयोग करते हुए , हम बिना किसी चिंता के सीधे काम कर सकते हैं ।q{}printq<>

s/1...q/i...#/;
print(<>%2)

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

रूबी: A001477

रूबी में, //वास्तव में /(विभाजित करके) /.../(रेगेक्स मैच) है, इसलिए जब तक रेगेक्स समाप्त हो जाता है, और एक संख्या में परिवर्तित हो जाता है, हम इसे सुरक्षित रूप से विभाजित कर सकते हैं। __id__तुलना में कम है .to_s.ord, तो हम सिर्फ कोड हम में नहीं करना चाहते हैं के बाकी शामिल 'है, सेट qकरने के लिए getsऔर printसभी अन्य लोगों के साथ।

s=1/2;1//2..."/.__id__;'...';q=gets
print(q)

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

अजगर 2: A005843

मानक चाल का उपयोग 2 को 3 से अलग करने और सामान को संलग्न करने के लिए जिसे हम """और टिप्पणियां नहीं चाहते हैं ।

s=1/2;1//2;q=int(input())*([2,3][s>0]);"""/...`"""
print(q)

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

अजगर 3: A008585

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

जावास्क्रिप्ट (ES6 ब्राउज़र): A000027

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

s=1/2;1//2;q=int(input())*([2,3][s>0]);"""/.__id__;'
alert(+prompt()+1);`"""#=;#';q=gets
print(q)#)|<>%2)#`


3

6 भाषाएँ: मूल रूप से 5/6/7/8/9/10, 44 40 32 बाइट्स

पार किया 44 अभी भी नियमित है 44 ;;

DDR'DDR$:_0?{R'DDRDDB'%0}!{+00%}

यह प्रिंट:

स्पष्टीकरण:

DDR'DDR$:_0?{R'DDRDDB'%0}!{+00%}
DDR'DDR                            get top face sum to 2 (all versions)
       $:                          read input and set notepad to it
         _0                        set notepad to input modulo 2
           ?{...........}          if truthy
             R'DDRDD                reset cube
                    B'              set top face to Cubically version number
                      %0            print top face
                         !{....}   if falsy
                           +00      add 2 to notepad twice
                              %     print

इसे ऑनलाइन आज़माएं! (मूल रूप से 6x6x6)

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