श्रेणी-घातांक पूर्णांकों का क्रम


16

एक त्रिकोण जहां पर विचार करें एन वें पंक्ति (1-अनुक्रमित) पहले की सरणी है एन के सकारात्मक पूर्णांक शक्तियों एन । यहाँ पहली कुछ पंक्तियाँ हैं:

एन | त्रिभुज

1 | 1
2 | २ ४
3 | ३ ९ २ 27
4 | 4 16 64 256
5 | 5 25 125 625 3125
...

अब यदि हम उन शक्तियों को एक क्रम में समेटते हैं , तो हमें OEIS A075363 प्राप्त होता है :

1, 2, 4, 3, 9, 27, 4, 16, 64, 256, 5, 25, 125, 625, 3125, 6, 36, 216, 1296, 7776, 46656 ...

पूर्णांक N को देखते हुए , आपका कार्य इस क्रम के N वें कार्यकाल को वापस करना है । आप 0 या 1-अनुक्रमण को चुन सकते हैं।

परीक्षण के मामलों

1 अनुक्रमित:

एन -> आउटपुट

1 -> 1
2 -> 2
3 -> 4
५ -> ९
10 -> 256
12 -> 25
15 -> 3125

0 अनुक्रमित:

एन -> आउटपुट

० -> १
1 -> 2
2 -> 4
४ -> ९
9 -> 256
11 -> 25
14 -> 3125

ध्यान दें कि इन खामियों को डिफ़ॉल्ट रूप से मना किया गया है। यह , इस प्रकार प्रत्येक भाषा में सबसे कम वैध जमा की जीत होती है!


मुझे लगता है कि परीक्षण के मामलों में कुछ त्रुटि है: 1-अनुक्रमित 10 में 256 होना चाहिए; 0-अनुक्रमित 9 में 256 होना चाहिए।
गैलेन इवानोव

क्या हमारे पास अनुगामी स्थान हो सकते हैं?
स्टेन स्ट्रोम

@StanStrum हां।
श्री एक्सकोडर

जवाबों:




5

वोल्फ्राम भाषा (गणितज्ञ) , 32 बाइट्स

r=Range;Flatten[r@#^r@r@#][[#]]&

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

पर्वतमाला के पर्वतमालाओं की शक्ति को लेकर ...


Range@Range@3रिटर्न {{1}, {1, 2}, {1, 2, 3}}! लानत है, गणितज्ञों की सूची-थ्रेडिंग पागल है।
नंबरमानस

4

आर , 40 बाइट्स

-2 बाइट्स ने हैलवार्ड्स हैम्ल्ज़ के उत्तर को चित्रित किया

function(N){while(N>T){N=N-T;T=T+1};T^N}

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

आर , (मूल उत्तर) 42 बाइट्स

function(N)(rep(1:N,1:N)^sequence(1:N))[N]

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

1 अनुक्रमित।


4

एपीएल (डायलॉग) , 15 13 10 बाइट्स

3 बाइट्स @ Adám की बदौलत बच गए

⊢⊃∘∊⍳*⍳¨∘⍳

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

कैसे?

⍳¨∘⍳ - इनपुट की सीमा में प्रत्येक संख्या के लिए एक सीमा बनाएं

⍳* - संबंधित शक्तियों के लिए इनपुट की सीमा में प्रत्येक संख्या बढ़ाएं

- चपटा

⊢⊃ - nth तत्व चुनें


इसे ऑनलाइन आज़माने से कोड 17 बाइट्स प्रतीत होता है और यह स्केलर पूर्णांक तर्क को स्वीकार करने या एकल पूर्णांक आउटपुट उत्पन्न करने के लिए प्रकट नहीं होता है
ग्राहम

1
@ ग्राहम ऑनलाइन, कोड एक चर को सौंपा गया है f(इस प्रकार f←2 और बाइट्स हैं, जो यहां नहीं गिना जाता है), और एक परीक्षण हार्नेस है जो परिणामों को इससे लौटाता 1है 10
को आउटगॉल्फर एरिक

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

@ ग्राहम यह एक dyalog एपीएल dfns है। इसे किसी भी इनपुट पर लागू करने के लिए असाइनमेंट की आवश्यकता नहीं होती है, टीआईओ आउटलेट केवल आरामदायक दृश्य के लिए है
उरियेल

उस आधार पर मैं मान सकता हूं कि मैं एपीएल वन लाइनर को चलाने से पहले अपने कार्यक्षेत्र में n असाइन कर सकता हूं और इस तरह 7 बाइट बचा सकता हूं, मुझे यकीन नहीं है कि हमारे साथी प्रतियोगी इसे स्वीकार करेंगे।
ग्राहम

3

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

*R$€Ẏ⁸ị

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

-1 श्री एक्सकोडर का धन्यवाद ।

1 अनुक्रमित।


बहुत बढ़िया कोड यहीं।
जोनाथन एलन

फैंसी सिंटैक्स से छुटकारा पाने के साथ ", मेरा अपना समाधान 7 बाइट्स है:*R$€F⁸ị
श्री एक्सकोडर

@ Mr.Xcoder धन्यवाद, हालांकि मैंने पहले ही हटा दिया था ", लेकिन फिर भी। इतिहास का अध्ययन करने के लिए आपको यही मिलता है: /
आउटगोल्फर

3

हास्केल , 30 28 बाइट्स

सहेजे गए 2 बाइट्स xnor के लिए धन्यवाद।

([n^m|n<-[1..],m<-[1..n]]!!)

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

0 अनुक्रमित


1
यह वास्तव में सूची COMP का उपयोग करने के लिए कम है [n^i|n<-[1..],i<-[1..n]]
xnor

ओह, मैं इसकी तुलना >>=फॉर्म से कर रहा था ...
एच। वाइज

3

MATL , 9 बाइट्स

:t!^RXzG)

इंडेक्सिंग 1-आधारित है। इसे ऑनलाइन आज़माएं! या सभी परीक्षण मामलों को सत्यापित करें

व्याख्या

5उदाहरण के रूप में इनपुट पर विचार करें ।

:     % Implcit input n. Push range [1 2 ... n]
      % STACK: [1 2 3 4 5]
t!^   % Matrix of all pair-wise powers
      % STACK: [1    2    3    4    5;
                1    4    9   16   25;
                1    8   27   64  125;
                1   16   81  256  625;
                1   32  243 1024 3125]
R     % Upper triangular matrix
      % STACK: [1    2    3    4    5;
                0    4    9   16   25;
                0    0   27   64  125;
                0    0    0  256  625;
                0    0    0    0 3125]
Xz    % Nonzeros. Reads values in column-major order
      % STACK: [1; 2; 4; 3; 9; ...; 625; 3125]
G)    % Get n-th entry (1-based). Implcit display
      % STACK: 9

3

APL (Dyalog) , 14 12 बाइट्स

{⍵⌷∊*∘⍳⍨¨⍳⍵}

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

1-अनुक्रमण का उपयोग करता है

ग्राहम के जवाब↑,/ → ∊ से लिया गया, 2 बाइट्स के साथ बचा

ध्यान दें कि परीक्षण लिंक में, कोड को एक अतिरिक्त की आवश्यकता होती है f←, लेकिन यह हमारे नियमों के अनुसार नहीं गिना जाता है।


के साथ बहुत चालाक उपयोग
अड्मां

@ एडम धन्यवाद :-)
H.PWiz

{⍵⌷∊*∘⍳⍨¨⍳⍵}⊢⌷∘∊((*∘⍳)⍨¨⍳)⊢⌷∘∊(⍳(*∘⍳)¨⍳)⊢⌷∘∊⍳*∘⍳¨⍳
Adám

मैं पोस्ट करूंगा कि ... अगर मुझे कोई अंदाजा होता कि कैसे काम करता
H.PWiz

tfit फ़ंक्शन में dfn के लिए क्या है। के बीच और की जरूरत है क्योंकि , monadically कहा जाता है तो यह है लोग भर्ती हुए सूचकांक । और हम बदलने f⍨⍳में ⍳ f ⍳करने के लिए से बचने बुला च ( *∘⍳¨) monadically (जब भी और ¨आसन्न हैं, वे स्थिति स्वैप सकता है)।
एडम


2

05AB1E , 9 बाइट्स

ƒNDLm`}I@

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

व्याख्या

1 अनुक्रमित।

ƒ           # for N in range [0 ... input]
 N          # push N
  DL        # push range [1 ... N]
    m       # raise N to the power of each in [1 ... N]
     `      # flatten to stack
      }     # end loop
       I@   # get the element at index (input)

एक लूप के बजाय एक सूची पर वैकल्पिक समाधान

ÝεDLm}˜sè

1

पर्ल 6 , 29 बाइट्स

{({|($++X**1..$++)}...*)[$_]}

झसे आज़माओ

विस्तारित:

{  # bare block lambda with implicit parameter 「$_」

  (  # generate the sequence

    {  # code block used to generate each value in the sequence

      |(         # slip the values into the outer sequence

        $++      # post-incremented anonymous state value
        X**      # cross using &infix:«**»
        1 .. $++ # from 1 to post-incremented anonymous state value

      )
    }

    ...          # keep generating values until

    *            # never stop

  )[ $_ ]        # index into the sequence (0-based)
}




0

वाह, आज आप सचमुच थक गए होंगे।
आउटगोल्फर

मैं वास्तव में बीमार हूँ!
जोनाथन एलन

10
माफ़ करना! उम्मीद है तुम जल्दी ठीक हो जाओगे!
आउटगोल्फ

इसके अलावा, यहाँ कुछ 3 बाइट्स हैं जिन्हें मैं इस तुच्छ तरीके से बाहर निकालने में कामयाब रहा।
को आउटगोल्फर


0

एपीएल + विन, 23 बाइट्स

(∊n↑¨⊂[2]n∘.*n←⍳n)[n←⎕]

स्पष्टीकरण:

[n←⎕] prompts for screen input and selects the nth element of the concatenated vector
see below

n←⍳n creates a vector of 1 to n

∘.* outer product with exponentiation as the operator

⊂[2] enclose each row of the resulting array as an element of a nested array

∊n↑¨ take 1 to n elements from the 1 to nth row of the matrix and concatenate into a vector

APL बोली किस पर काम करती है?
निकोलग्राफ

यह एपीएल + विन में लिखा गया है। मैं भविष्य के किसी भी उत्तर में यह स्पष्ट कर दूंगा
ग्राहम

मुझे बदलने के लिए मैंने आपका जवाब लिया ↑,/। मुझे उस फ़ंक्शन का पता नहीं था। धन्यवाद
H.PWiz

@EriktheOutgolfer मुझे लगता है कि यह किसी भी आधुनिक एपीएल पर काम करेगा।
अड्म



0

क्लोजर 51 बाइट्स

0-अनुक्रमित, उदाहरण के लिए इनपुट 9रिटर्न 256.0

#(nth(for[i(range)j(range i)](Math/pow i(inc j)))%)


0

पाइट , 39 37 बाइट्स

1 अनुक्रमित

←000`ŕŕ⁺ĐĐř^Đ04Ș↔+⇹Ł-Đ↔3Ș0>łŕ0↔⇹+⁻⦋↔ŕ

स्पष्टीकरण:

संक्षेप में, यह प्रत्येक पंक्ति की गणना करता है। यदि अनुरोधित संख्या उस पंक्ति में है, तो उसे वापस करें; अन्यथा, अगली पंक्ति पर जाएं।

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