अपने कोड को उल्टा करें, OEIS को उल्टा करें


12

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

अब चीजों को तुच्छ होने से रोकने के लिए न तो ओईआईएस पहचानकर्ता संख्या और न ही आपका कार्यक्रम पैलिंड्रोम हो सकता है। यही अनुक्रम और कार्यक्रम अलग-अलग होने चाहिए। आप ऐसा क्रम नहीं चुन सकते जिसके लिए यह उल्टा हो या खाली न हो।

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

यह इसलिए उत्तर बाइट्स में कम बाइट के साथ बेहतर स्कोर किए जाएंगे।


क्या अग्रणी शून्य को क्रम संख्या उलटने में शामिल किया जाता है?
पप्परी

1
@pppery उन्हें होना चाहिए, क्योंकि OEIS संख्याओं के ठीक 6 अंक हैं। (यह भी स्पष्ट रूप से सवाल में ऐसा कहता है)
जो किंग

क्या हम इनपुट (इंडेक्स) को एक स्ट्रिंग के रूप में ले सकते हैं?
TFeld

जवाबों:



4

पर्ल 6 , 55 बाइट्स (A055642 और A246550)

+*.comb#}]1-_$[)4+_$^**X]_$^[)*..2,emirp-si&(perg(tros{

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

n

{sort(grep(&is-prime,2..*)[^$_]X**^$_+4)[$_-1]}#bmoc.*+

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

एक्सएक्स4

इस चुनौती के अधिकांश एक बहुत ही जटिल नहीं रिवर्स के साथ एक अच्छा अनुक्रम मिल रहा था।

अपडेट: टॉरैडो के उत्तर का उपयोग करते हुए , यह 19 बाइट्स (A010851 और A158010) हो सकता है

{256*$_**2-$_}#{21}

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


2

\ / \ /> , 15 14 बाइट्स ( A010851 और A158010 )

cn;n*-1*"Ā":j

प्रभावी ढंग से cn, आउटपुट 12

j:"Ā"*1-*n;nc

प्रभावी रूप से j:"Ā"*1-*n, n (256n-1)

अविश्वसनीय रूप से सरल दृश्यों को खोजने के लिए एक दोस्त को धन्यवाद!


1

हास्केल, 47 बाइट्स ( A000010 और A010000 )

दोनों क्रम अपेक्षाकृत सरल हैं।

p n=sum[1|x<-[1..n],gcd x n<2]--2+n*n=n p;1=0 p

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

p n = n (A000010) (1-अनुक्रमित) का युलर कुल कार्य

उलट:

p 0=1;p n=n*n+2--]2<n x dcg,]n..1[-<x|1[mus=n p

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

p n = 1 यदि n = 0, अन्यथा n ^ 2 + 2

यह एक जवाब देखना दिलचस्प होगा जो टिप्पणियों का उपयोग नहीं करता है ...


1

अजगर 2 , 59 बाइट्स (A030000 और A000030)

f=lambda n,k=0:k if`n`in`2**k`else f(n,k+1)#]0[`n`:n adbmal

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

f2n

lambda n:`n`[0]#)1+k,n(f esle`k**2`ni`n`fi k:0=k,n adbmal=f

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

n


छोटा संस्करण, जो स्ट्रिंग्स को इनपुट के रूप में लेता है (दोनों अनुक्रमों के लिए), और दोनों अभी भी 0-अनुक्रमित हैं:

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

f=lambda n,k=0:`k`*(n in`2**k`)or f(n,k+1)#]0[n:n adbmal

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

lambda n:n[0]#)1+k,n(f ro)`k**2`ni n(*`k`:0=k,n adbmal=f

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

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