अनुक्रम स्वैप


9

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

इनपुट आउटपुट

आपका कोड एक फ़ंक्शन या पूर्ण कार्यक्रम हो सकता है जो एक मानक इनपुट विधि के माध्यम से n लेता है और अनुक्रम के n वें आउटपुट को OEIS पृष्ठ पर दिए गए सूचकांक द्वारा अनुक्रमित करता है।

आपको उस अनुक्रम के लिए OEIS b फ़ाइलों में दिए गए सभी मानों का समर्थन करना चाहिए, b फ़ाइलों में किसी भी संख्या को समर्थन की आवश्यकता नहीं है।

स्कोरिंग

ये है । आपका स्कोर आपके कोड में बाइट्स की संख्या कम बाइट्स बेहतर होगा।

उदाहरण

यहाँ हास्केल में एक उदाहरण है जो A000217 और A000290 के लिए काम करता है।

f x|last"A000217"=='0'=x^2|1>0=sum[1..x]

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


स्पष्ट करने के लिए: आपका कोड दो अनुक्रमों के लिए काम करना चाहिए, जहां अनुक्रम के नाम को उस भाग के कोड में डालने से उस अनुक्रम की संख्या का उत्पादन होगा?
हाइपरनेत्रिनो

@ हाइपरनेट्रिनो हाँ। जब अनुक्रम का नाम प्रतिस्थापित किया जाता है, तो कार्यक्रम का कार्य बदलकर दूसरा अनुक्रम होना चाहिए।
तदर्थ गार्फ हंटर

1
क्या कोड में अनुक्रम के लिए अग्रणी शून्य होना चाहिए।
pppery

@ चापलूसी हाँ यह चाहिए।
तदर्थ गार्फ हंटर

1
है Aआवश्यक है?
ओकेक्स

जवाबों:


8

जावास्क्रिप्ट (ईएस 6), 16 15 बाइट्स

n=>4&~0xA000004

A000004 (सभी 0s) और A010709 (सभी 4s) के साथ काम करता है।

पिछला 17-बाइट समाधान A010850 से A010859 समावेशी के साथ काम करता है:

n=>~-0xA010850%36

पिछला 25-बाइट समाधान A010850 से A010871 समावेशी के साथ काम करता है:

n=>"A010850".slice(5)-39

यह सिर्फ दिखावा कर रहा है (मैं यह अच्छी तरह से देखने के लिए OEIS को अच्छी तरह से नहीं जानता कि यह कितना चालाक है: P)
TheLethalCoder

अजीब - दो जवाब 25 बाइट्स पर शुरू हुए और दोनों एक मिनट में 17 बाइट्स के लिए तैयार थे
pppery

@ हेपर्री हे, लेकिन मैं आपके उत्तर को पोर्ट कर सकता था और यह केवल 15 बाइट्स होगा ...
नील

Jelly जेली के साथ बंधे ! बहुत अच्छी तरह से किया
Shaggy

@ शैगी नोप; एक नया छोटा जेली उत्तर पोस्ट किया गया था।
21



3

CQuents , 16 बाइट्स

=A000007//5#|A:0

इसे ऑनलाइन आज़माएं! , A000007 ,1,0,0,0,0...

=A000004//5#|A:0

इसे ऑनलाइन आज़माएं! , A000004 ,0,0,0,0,0...

व्याख्या

                    Implicit input A
=A000007            First item in the sequence equals A * 7
        //5                                                 intdiv 5 = 1
           #|A      n equals A
              :     Mode : (sequence): output nth item (1-based)
               0    Rest of the sequence is 0

                    Implicit input A
=A000004            First item in the sequence equals A * 4
        //5                                                 intdiv 5 = 0
           #|A      n equals A
              :     Mode : (sequence): output nth item (1-based)
               0    Rest of the sequence is 0

कॉनर ओ'ब्रायन के लिए धन्यवाद 4//5 = 0और 7//5 = 1

यदि कल्पना अधिक लचीली थी, तो यह होगा O7A$और O4A$



2

डीसी , 13 बाइट्स

संपादित करें: जाहिरा तौर पर OEIS, 0वें से वें तक शक्तियों को सूचीबद्ध करता है 30- मैंने सिर्फ इन अनुक्रमों पर एक खोज की और यह निकला कि मूल 13बाइट समाधान गोल्फस्ट है। लेकिन मुझे बस 1बाइट के लिए एक और समाधान मिला जो 9दृश्यों के लिए काम करता है ।

A000012 के लिए समाधान (निरंतर 1 के अनुक्रम):

?A000012 4%^p

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

A001477 के लिए समाधान (गैर-नकारात्मक पूर्णांक):

?A001477 4%^p

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

A000290 के लिए समाधान (पूर्ण वर्ग अनुक्रम):

?A000290 4%^p

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

Ungolfed / स्पष्टीकरण

ये समाधान इस तथ्य का उपयोग करते हैं जो कि dcव्याख्या Aकरता है 10, इसलिए A001477मूल्य बन जाता है 10001477। इसके अलावा यह दर्शाता है कि अनुक्रम हैं n^0, n^1और n^2जो साथ मेल खाता है 10000012 % 4 == 0, 10001477 % 4 == 1और 10000290 % 4 == 2

तो ये क्रम हैं xyz(n) = n ^ (xyz % 4)

Command          Description          Example (3) 
?              # Push the input       [3]
 A000290       # Push sequence name   [3,10000290]
         4%    # Top %= 4             [3,2]
           ^   # Pop x,y & push y^x   [9]
            p  # Print the top        [9]

9 अनुक्रमों के लिए 14 बाइट समाधान

विचार अभी भी वही है, इस बार हमें % 97सही शक्ति प्राप्त करने की आवश्यकता है - यह A010801 , A010802 , A010803 , A010804 , A010805 , A010806 , A010807 , A010808 और A010809 (ये क्रम हैं n^13,) के लिए काम करता है। । n^21);

यहाँ पहले वाला है:

?A010801 97%^p

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


1
+1 दो से अधिक दृश्यों का समर्थन करने के लिए!
नील

1

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

print'A000012'[5]

A000004 और A000012 के लिए काम करता है। (इनपुट को नजरअंदाज किया जाता है क्योंकि अनुक्रम सभी स्थिर शब्द हैं)।


1

बीफगंज 98, 10 बाइट्स

#A000012$q

A000004 के लिए भी काम करता है। एक्जिट कोड द्वारा आउटपुट।


1

जेली , 17 बाइट्स

“A000578”OS%⁵ạ6*@

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

“A000578”OS%⁵ạ6*@  Main link
“A000578”          String
         O         Codepoints
          S        Sum (364 for A000290, 373 for A000578)
           %⁵      Modulo 10 (4 for A000290, 3 for A000578)
             ạ6    Absolute Difference with 6 (2 for A000290, 3 for A000578)
               *@  [left argument] ** [result of last link (right argument)]

A000290 के साथ भी काम करता है


गैर-स्थिर दृश्यों का उपयोग करके अच्छा काम।
AdmBorkBork

1

पॉवरशेल , 23 बाइट्स

+(0xA000012-eq160mb+18)

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

उपयोग A000012 (सभी लोगों अनुक्रम) और A000004 (सभी शून्य अनुक्रम)।

कई साफ-सुथरे टोटकों का लाभ उठाता है। हम 0xउस अनुक्रम पर हेक्साडेसिमल ऑपरेटर के रूप में उपयोग करते हैं जो हमें देता है 167772178। यह देखने के लिए तुलना की जाती है कि क्या इसका उपयोग ऑपरेटर ( है ) का उपयोग -eqकरने के लिए है । उस बूलियन परिणाम को एक इंट के रूप में डाला जाता है ताकि उचित या आउटपुट का उत्पादन किया जा सके । ध्यान दें कि A000012 के अलावा कोड में कोई भी अनुक्रम आउटपुट होगा।160mb+18mb160mb167772160+100


1

नीम , 10 9 बाइट्स

A000012ᛄ>

स्पष्टीकरण:

A            Push 42
 000012      Push 4
 or
 A007395     Push 7395
        ᛄ     Modulo 2
         >    Increment

A000012 (सभी वाले) और A007395 (सभी जुड़वां)

एक फ़ंक्शन जो स्टैक के शीर्ष पर इनपुट लेता है और स्टैक के शीर्ष पर आउटपुट छोड़ देता है।

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


0

गैया , 9 बाइट्स

A000012₉/

A000012 और A000004 के साथ काम करता है ।

A000012 की कोशिश करो!

A000004 की कोशिश करो!

व्याख्या

A          Undefined (ignored)
 000012    Push 12
       ₉   Push 9
        /  Integer division, results in 1


A          Undefined (ignored)
 000004    Push 4
       ₉   Push 9
        /  Integer division, results in 0

हर कोई A00004 और A00012 पोस्ट क्यों करता रहता है?
पपीली

@ppperry A000004 शून्य अनुक्रम है और A000012 अनुक्रम है। बस फ्लोर 9 से संख्याओं को विभाजित करता है और परिणाम को हमेशा के लिए आउटपुट करता है।
इंजीनियर टोस्ट






0

भूसी , 20 बाइट्स

यह एक और थोड़ा दिलचस्प दृश्यों देता है, फिर से समाधान 1-indexed हैं।

यह A000040 (अभाज्य संख्या) के लिए काम करता है :

!!i→"A000040"e:0İfİp

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

और A000045 (फाइबोनैचि संख्या) के लिए यह एक :

!!i→"A000045"e:0İfİp

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

व्याख्या

यह इस तथ्य का उपयोग करता है कि अनुक्रम नामों के अंतिम अंक में एक अलग समानता है:

                      -- implicit input N
             e        -- construct a list with:
              :0İf    --   list of Fibonacci numbers (prepend 0)
                  İp  --   list of the prime numbers
  i→"Axxxxx?"         -- get the last character and convert to number,
 !                    -- use it as modular index (0 -> primes, 5 -> Fibonacci)
!                     -- get the value at the Nth index

0

एएचके , 40 बाइट्स

a:=SubStr("A000004",6)//9
Loop
Send %a%,

आउटपुट: 0,0,0,0,0,0,0,0,0,0,0,0,...

a:=SubStr("A000012",6)//9
Loop
Send %a%,

आउटपुट: 1,1,1,1,1,1,1,1,1,1,1,1,...

यह सबसे छोटा कोड नहीं हो सकता है लेकिन मुझे यकीन है कि यह सबसे छोटा अनुक्रम जोड़ी है जिसे हम पा सकते हैं। A000004 शून्य अनुक्रम है और A000012 अनुक्रम है। बस मंजिल संख्याओं को 9 से विभाजित करें और परिणाम को हमेशा के लिए आउटपुट करें।


0

QBIC , 28 बाइट्स

p=!_s@A000035`,-1|!?:%2+5-p

यह अनुक्रम A000034 (1, 2, 1, 2, 1 ...) और A000035 के बीच स्विच करता है (0, 1, 0, 1, 0, 1 ...) के

व्याख्या

p=                  Set p to 
  !            !    A numeric representation of
   _s         |     a substring of
     @A000035`      our sequence code (either A0035 or A0034)
     ,-1            taking just one character from the right.
?:%2                PRINT <n> MOD 2 (gives us a either 0 or 1)
    +5-p            Plus 1 for seq A24 (5-4), or plus 0 for A35

0

भूसी , 16 बाइट्स

दोनों समाधान हैं 1 -indexed हैं।

यह A000351 (5 की शक्तियां) के लिए काम करता है :

!¡*i!6"A000351"1

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

और यह A000007 के लिए एक (0 की शक्तियां):

!¡*i!6"A000007"1

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

व्याख्या

यह उपयोग करता है कि A000351 , A000007 नाम में 6 अंक की स्थिति में सही अंक D होता है, जैसे कि अनुक्रम है D^0,D^1,D^2,...:

                  -- implicit input N
   i!6"AxxxxDx"   -- get the right digit D and convert to number,
 ¡*            1  -- iterate (D*) infinitely beginning with 1,
!                 -- extract the value at Nth position

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