अबकाबा क्रम उत्पन्न करें


35

यह चुनौती एक विशिष्ट गहराई के अबकाबा अनुक्रम को छापने के बारे में है।

यहां पहले 5 अनुक्रमों का एक आरेख है ( a(N)गहराई एन का अबकाबा अनुक्रम है, ऊपरी / निचला भाग केवल पैटर्न दिखाने के लिए है, यह आपके प्रोग्राम के आउटपुट में आवश्यक नहीं है):

a(0) = A
a(1) = aBa
a(2) = abaCaba
a(3) = abacabaDabacaba
a(4) = abacabadabacabaEabacabadabacaba
...
a(25) = abacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacabagabacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacabahabacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacabagabacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacabaiabacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacabagabacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacabahabacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacabagabacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacabajabacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacabagabacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacabahabacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacabagabacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacabaia...

जैसा कि आप शायद बता सकते हैं, n'th abacaba अनुक्रम n'th अक्षर के साथ अंतिम है और खुद को फिर से इसमें जोड़ा गया है। ( a(n) = a(n - 1) + letter(n) + a(n - 1))

आपका कार्य एक प्रोग्राम या फ़ंक्शन करना है जो एक पूर्णांक लेता है और उस गहराई के एबाका अनुक्रम को प्रिंट करता है। 15 तक के मानों के लिए आउटपुट को कम से कम सही होना चाहिए।


3
अनुक्रम f के बाद अपरिभाषित नहीं होगा?
लीजनमोनियल 978 13

3
@nicael मुझे पता है, मैं सोच रहा था कि ∞ (be) को कैसे परिभाषित किया जाएगा।
लीजनमोनमाल 978

2
इसके अलावा शासक अनुक्रम के रूप में भी जाना जाता है (लेकिन संख्याओं के बजाय अक्षरों के साथ), कुछ और आसानी से Google-सक्षम के लिए।
user253751

4
इसके लायक क्या है, इस समस्या का कोई भी वैध समाधान एन डिस्क के लिए हनोई पहेली के टावर्स का समाधान है ।
जेफ ज़िटलिन

3
क्या हम 0-आधारित इंडेक्सिंग के बजाय 1-आधारित इंडेक्सिंग का उपयोग कर सकते हैं?
फल

जवाबों:


8

अजगर, 11 बाइट्स

u++GHG<GhQk

सरल कमी।


2
@ ललज्जो ओह। कोई मतलब नहीं है, 0खाली क्रम IMO होना चाहिए, लेकिन मैं इस सवाल के अनुरूप हूँ ...
orlp

4
हाँ, सरल। जाता है और दीवार पर सिर
धमाका करता है

@JAtkin rev-doc.txtइस जवाब के आगे पाइथ को खोलें , और इसे आसानी से खुद को सरल दिखाना चाहिए।
orlp

हेहे, मैं क्या मतलब नहीं था (मैं अजगर नहीं जानता, तो ....)
जे Atkin

7

पायथन, 44 बाइट्स

f=lambda n:"a"[n:]or f(n-1)+chr(97+n)+f(n-1)

लगता है कि संदिग्ध रूप से गोल्फ हो सकता है।


7

हास्केल, 39 37 बाइट्स

a 0="a"
a n=a(n-1)++['a'..]!!n:a(n-1)

प्रयोग उदाहरण: a 3-> "abacabadabacaba"

संपादित करें: @Angs को बचाने के लिए दो बाइट्स मिले। धन्यवाद!


a n=a(n-1)++[97+n]++a(n-1)काम नहीं करेगा ? अभी परीक्षण नहीं कर सकता।
देखिए

@Seeq: नहीं, [97+n]की एक सूची है Integerऔर (aka ) a(n-1)की एक सूची है । आप विभिन्न प्रकारों के साथ सूचियों को संक्षिप्त नहीं कर सकते। से बाहर करता है । CharStringtoEnumCharInteger
nimi

आह, मुझे हमेशा लगा कि चार हास्केल में एक विशेष पूर्णांक था।
देखिए

['a'..]!!n2 बाइट्स से कम हैtoEnum(97+n)
Angs

@Angs: अच्छी पकड़! धन्यवाद!
नीम

6

पायथ, 14 13 बाइट्स

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

VhQ=+k+@GNk;k

14 बाइट्स के साथ एक समाधान VhQ=ks[k@GNk;k:।

स्पष्टीकरण:

VhQ=+k+@GNk;k

               # Implicit: k = empty string
VhQ            # For N in range input + 1      
   =           # Assign k
      +@GNk    # Position N at alphabet + k
    +k         # k + above
           ;   # End loop
            k  # Print k

यहाँ यह कोशिश करो !


"एन इन रेंज" Vलाइन पर नहीं होना चाहिए ? hQबस हैeval(input) + 1
लोवजो

@ लोजोवो हाँ, यह बेहतर और कम भ्रामक है :)
अदनान

आप छोटा कर सकते हैं =kकरने के लिए =। पायथ स्वचालित रूप से परिणाम को निर्दिष्ट करेगा k, क्योंकि kअभिव्यक्ति में पहला चर है +k+@GNk
जकुब

@Jakube बहुत बहुत धन्यवाद! :)
अदनान

इस चुनौती के लिए मेरे पास एक अलग जवाब है। यह इस समाधान को नहीं हराएगा, लेकिन यह अनुक्रम के पहले n अक्षर देने के लिए एक तकनीक का वर्णन करता है: Vt^2Q=+k@Gx_.BhN`1)k(इस उदाहरण में, यह पहले 2 ^ Q-1 वर्ण देने के लिए सेट है क्योंकि चुनौती की आवश्यकता होती है, लेकिन आप देख सकते हैं कैसे बदल सकता है।)
क्विंटोपिया

5

रेटिना , 37 32 बाइट्स

$
aa
(T`_l`l`.$
)`1(a.*)
$1$1
z

अनुगामी लाइनफीड महत्वपूर्ण है। इनपुट यूनीरी में लिया गया है

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


यह काम नहीं करता।
लीक नून

@ केनीलाउ हां, क्योंकि जब से मैंने यह उत्तर पोस्ट किया है रेटिना बदल गया। यदि आप उस रिलीज़ को चेक करते हैं जो हाल ही में जब GitHub से सीधे पोस्ट किया गया था, तो यह उसी के साथ काम करेगा।
मार्टिन एंडर

5

ब्रेनफक, 157 बाइट्स

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

इनपुट बाइनरी में दिया गया है।

मूल विचार वर्तमान अनुक्रम ("ए" से शुरू) को बार-बार डुप्लिकेट करना और प्रत्येक पुनरावृत्ति के बाद अंतिम तत्व को बढ़ाना है:

  1. एक → आ → अब

  2. ab → अबाब → अबैक

  3. abac → अबैकबाक → abacabac

  4. ...

जब यह सब कई बार निर्दिष्ट मात्रा में किया जाता है, तो परिणाम अंतिम तत्व को छोड़कर मुद्रित हो जाता है।

गहराई से व्याख्या

मेमोरी को निम्न तरीके से व्यवस्थित किया गया है:

.---------.-.-----.----.---.-----.----.---.---
|Countdown|0|Value|Copy|End|Value|Copy|End|...
'---------'-'-----'----'---'-----'----'---'---

            |--Element 1---|--Element 2---|

उलटी गिनती प्रतिलिपि चक्रों की संख्या रखती है जिन्हें अभी तक निष्पादित नहीं किया गया है। ABACABA अनुक्रम को आस-पास के ब्लॉकों में संग्रहीत किया जाता है, प्रत्येक 3 कोशिकाओं से बना होता है। मान तत्व का चरित्र रखता है (अर्थात "A", "B", "C" ...)। कॉपी ध्वज इंगित करता है या नहीं, इसी तत्व (0 = कॉपी, 1 = नहीं करते हैं) वर्तमान नकल चक्र के भीतर की नकल की जरूरत है। अंत झंडा, जबकि यह की नकल की जा रही है पिछले तत्व के लिए 0 पर सेट है (यह अन्य सभी मामलों में 1 है)।

अब वास्तविक (थोड़ा असंयमित) कार्यक्रम के लिए:

,                       read Countdown from input
+                       add 1 to avoid off-by-one error
>-[>++<-----]>-----     initialize value cell of first element to 97 ("a")
>>+                     set End flag of first element to 1
<<<<                    move to Countdown
[                       loop until Countdown hits 0 (main loop)
    -                   decrement Countdown
    >>                  move to Value cell of first element
    [                   copying loop
        [               duplication sub-loop
            -           decrement Value cell of the element to copy
            >>          move to End flag
            [>>>]       move to End flag of the last element
            <+<+        increment Copy and Value cell of last element (Copy cell is temporarily abused)
            <           move to End flag of second to last element
            [<<<]>>     move back to Copy cell of first element
            [>>>]<      move to Value cell of the first element where the Copy flag is 0
        ]
        >>[>>>]<        move to (abused) Copy flag of the last element
        [               "copy back" sub-loop
            -           decrement Copy flag
            <<          move to End flag of second to last element
            [<<<]>>     move back to Copy cell of first element
            [>>>]<      move to Value cell of the first element where the Copy flag is 0
            +           increment Value cell
            >>[>>>]<    move back to Copy flag of the last element
        ]
        +>+             set Copy and End flag to 1
        <<<             move to End flag of second to last element
        [<<<]>>         move back to Copy cell of first element
        [>>>]<          move to Value cell of the first element where the Copy flag is 0
        >+<             set Copy flag to 1
        >[>>>]<         move to Value cell of the next element to copy
    ]                   loop ends three cells behind the last "valid" Value cell
    <<<+                increment Value cell of last element
    >>                  move to End flag
    [<-<<]              reset all Copy flag
    <                   move to Countdown
]
>>>>                    move to End flag of first element
[>>>]<<<                move to End flag of last element                
<<<                     skip the last element
[<<.<]                  output Value cells (in reverse order, but that doesn't matter)

2
साइट पर आपका स्वागत है! मैं एक अधिक विस्तृत टूटने में दिलचस्पी होगी!
गेहूं जादूगर

1
@ SriotchilismO'Zaic आपके उत्तर के लिए धन्यवाद :) मैंने अब एक विस्तृत विवरण जोड़ा है।
आर्थोपलेक्स

5

हास्केल , 36 बाइट्स

tail.(iterate((:"a").succ=<<)"_a"!!)

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

यह अन्य उत्तरों में से अधिकांश से एक अलग पुनरावर्ती पद्धति का उपयोग करता है। अनुक्रम में अगली स्ट्रिंग प्राप्त करने के लिए, हम पिछले स्ट्रिंग में दो अक्षरों को बीच में एक नए पत्र के साथ शामिल नहीं करते हैं, लेकिन इसके बजाय हर पत्र को बढ़ाते हैं और प्रतिच्छेद करते हैं a

aba -> bcb -> abacaba

1
क्या आप bcbइसके बजाय मतलब है cbc?
जो किंग

4

05AB1E , 12 बाइट्स (गैर-प्रतिस्पर्धी)

कोड:

'aIGDN>.bsJl

मैं शापित हो जाऊँगा। मैंने इस चुनौती के लिए बहुत सारे कीड़े तय किए हैं।

स्पष्टीकरण:

'aIGDN>.bsJl

'a             # Push the character 'a'
  I            # User input
   G           # For N in range(1, input)
    D          # Duplicate the stack
     N         # Push N
      >        # Increment
       .b      # Convert to alphabetic character (1 = A, 2 = B, etc.)
         s     # Swap the last two elements
          J    # push ''.join(stack)
           l   # Convert to lowercase
               # Implicit: print the last item of the stack

यह गैर-प्रतिस्पर्धी क्यों है?
लोवजो

@ लोजोवो ने चुनौती पोस्ट किए जाने के बाद कीड़े को ठीक किया, इसलिए यह गैर-प्रतिस्पर्धी है :(
अदनान

4

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

a=n=>n?a(--n)+(n+11).toString(36)+a(n):"a"

एक बाइट ने @ धन्यवाद का धन्यवाद बचाया !

अभी तक एक और सरल पुनरावर्ती समाधान ...


(n+11).toString(36)आपको 1 बाइट बचाता है, और एक (25) तक काम करता है!
नील

@ नील लागू किया गया। धन्यवाद!
2:81 बजे user81655


3

रूबी (1.9 और ऊपर), 38 बाइट्स

?aलिखने के लिए एक गॉल्फियर तरीका है "a"लेकिन टर्नरी के साथ मिश्रित होने पर अजीब लगता है?:

a=->n{n<1??a:a[n-1]+(97+n).chr+a[n-1]}

3

आर , 48 बाइट्स

f=function(n)if(n)paste0(a<-f(n-1),letters[n],a)

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

सरल पुनरावृत्ति।


उह, पेस्ट ० क्या है ???
शीआन

@ शीआन paste0के बराबर है pasteके साथ sep=""है, तो आपको लगता है कि अक्षरों के बीच स्पेस न pasteडिफ़ॉल्ट रूप से जोड़ना होगा।
रॉबिन राइडर

2

सी #, 59 बाइट्स

string a(int n){return n<1?"a":a(n-1)+(char)(97+n)+a(n-1);}

बस एक और सी # समाधान ...


2

पर्ल, 33 बाइट्स

map$\.=chr(97+$_).$\,0..pop;print

संयुक्त राष्ट्र के गोल्फ के लिए कोई वास्तविक जरूरत नहीं है। क्रम में अगले चरित्र को जोड़कर पुनरावृत्ति द्वारा स्ट्रिंग को बनाता है और इसके आरंभिक बिंदु के रूप में 'a' के ASCII मान का उपयोग करते हुए, अब तक स्ट्रिंग के उल्टा है। उपयोग$\कुछ स्ट्रोक बचाने के लिए है, लेकिन यह जितना मुश्किल होता है उतना ही मुश्किल होता है।

के a(0)माध्यम से a(25)और परे भी काम करता है। हालाँकि आप ASCII के बाद विस्तारित हो जाते हैं a(29), आप वर्ण कोड से बाहर निकलने से पहले स्मृति से बाहर चला जाएगा:

a(25)है ~ 64MiB a(29)~ 1GiB है।

a(255)(अप्राप्त!) के परिणाम को संग्रहीत करने के लिए , किसी को 2 ^ 256 - 1 = 1.15x10 ^ 77 बाइट्स की आवश्यकता होगी, या लगभग 1.15x10 ^ 65 1-टेराबाइट ड्राइव।


1
हम उन परमाणु-कंपकंपी yottabyte ड्राइव की जरूरत है, अब!
कैलकुलेटरफाइनल

2

जावा 7, 158 बाइट्स

class B{public static void main(String[]a){a('a',Byte.valueOf(a[0]));}static void a(char a,int c){if(c>=0){a(a,c-1);System.out.print((char)(a+c));a(a,c-1);}}}

मुझे PPCG के आसपास दुबकना पसंद है और मैं अन्य उत्तरों पर वोट / टिप्पणी करने में सक्षम होना चाहूंगा।

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


PPCG में आपका स्वागत है! मुझे आशा है कि आप भविष्य में मतदान और टिप्पणी करने से कुछ अधिक करेंगे (लेकिन ऐसा महसूस न करें कि आपके पास है)। :)
मार्टिन एंडर

2

गणितज्ञ, ३६ ३२ बाइट्स

##<>#&~Fold~Alphabet[][[;;#+1]]&

क्या आपने कभी TWB 11B देखा है?


के लिए कोई ज़रूरत नहीं है "",और फिर आप के लिए infix संकेतन का उपयोग कर सकते हैं Fold
मार्टिन एंडर

# 1 के कारण अशक्त है <>, और # 2 केवल द्विआधारी कार्यों के लिए काम करता है।
कैलक्यूलेटरऑनलाइन

क्या आपने यह टिप्पणी आपके इच्छित उत्तर पर पोस्ट की है? क्योंकि मुझे कोई मतलब नहीं है कि आपका क्या मतलब है। :)
मार्टिन एंडर

* # 1 स्ट्रिंगरजोन को नल में शामिल होने का कारण बनता है, और # 2 केवल द्विआधारी या साहचर्य कार्यों के लिए काम करता है। (x ~ फोल्ड ~ y ~ फोल्ड ~ z = फोल्ड [x, y [z] की बजाय फोल्ड [x, फोल्ड [y, z]]
कैलकुलेटरऑफ़लाइन

ओह आपका मतलब है "सुझाव # 1"। नहीं, यह नल का कारण नहीं है। क्यों होगा?
मार्टिन एंडर

2

पायथन, 62 54 46 45 बाइट्स

मुझे लगता है कि यह कोड अभी भी किसी भी तरह नीचे गिरा दिया जा सकता है।

संपादित करें: लिन के लिए बग फिक्स धन्यवाद। स्क्वीड के लिए -1 बाइट।

a=lambda n:n and a(n-1)+chr(97+n)+a(n-1)or'a'

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


आउटपुट सभी-लोअरकेस में होना चाहिए। प्रश्न में अपरकेस केवल पुनरावृत्ति के बारे में स्पष्टता के लिए है।
लोवजो

ओह। स्पष्टीकरण के लिए धन्यवाद।
शरलॉक

Blargle। धन्यवाद @ user81655
शर्लक

यह अमान्य है (यह कभी समाप्त नहीं होता है - इसे आज़माएं)। आधार मामले में भी, अभिव्यक्ति के पुनरावर्ती भाग का मूल्यांकन किया जाता है।
लिन

फिक्स्ड। धन्यवाद @ लियन!
शर्लक

1

मैथेमेटिका, 46 बाइट्स

If[#<1,"a",(a=#0[#-1])<>Alphabet[][[#+1]]<>a]&

सरल पुनरावर्ती कार्य। एक और समाधान:

a@0="a";a@n_:=(b=a[n-1])<>Alphabet[][[n+1]]<>b

1

K5, 18 बाइट्स

"A"{x,y,x}/`c$66+!

बार-बार किसी फ़ंक्शन को किसी दिए गए मान ( "A") और अनुक्रम के प्रत्येक तत्व पर लागू करें। अनुक्रम बी से कुछ संख्या एन ( `c$66+!) तक वर्णमाला वर्ण है । फ़ंक्शन दाएँ तर्क ( {x,y,x}) के दोनों ओर बाएं तर्क में शामिल होता है ।

कार्रवाई में:

 ("A"{x,y,x}/`c$66+!)'!6
("A"
 "ABA"
 "ABACABA"
 "ABACABADABACABA"
 "ABACABADABACABAEABACABADABACABA"
 "ABACABADABACABAEABACABADABACABAFABACABADABACABAEABACABADABACABA")

मुझे लगता है कि अनुक्रम को कम किया जाना चाहिए, लेकिन इसकी लागत बाइट्स नहीं है।
user48538

1

जावास्क्रिप्ट, 65 57 1 बाइट्स

n=>eval('s="a";for(i=0;i<n;i++)s+=(i+11).toString(36)+s')

डेमो:

function a(n){
  return eval('s="a";for(i=0;i<n;i++)s+=(i+11).toString(36)+s')
}
alert(a(3))

1 - 8 बाइट बचाने के लिए धन्यवाद नील


(i+11).toString(36)आपको 6 बाइट्स बचाता है।
नील

@ नील हाहा, यह एक चतुर हैक है
nikel

ओह, और यदि आप असाइनमेंट s="a";को आगे बढ़ाते हैं forतो यह डिफ़ॉल्ट रिटर्न मान बन जाता है और आप ;sअन्य 2 बाइट की बचत के लिए अनुगामी को छोड़ सकते हैं ।
नील

@ नील अच्छा, उस के बारे में पता नहीं था।
nicael

मुझे लगता है कि आप iइनलाइन को बढ़ाकर और लूप के लिए वेतन वृद्धि रोककर एक बाइट बचा सकते हैं । तो ...for(i=0;i<n;)s+=(i+++11)...
नहीं कि चार्ल्स

1

जाप, 20 17 बाइट्स

97oU+98 r@X+Yd +X

इसे ऑनलाइन टेस्ट करें!

यह काम किस प्रकार करता है

         // Implicit: U = input integer
65oU+66  // Generate a range from 65 to U+66.
r@       // Reduce each item Y and previous value X in this range with this function:
X+Yd     // return X, plus the character with char code Y,
+X       // plus X.

         // Implicit: output last expression

गैर-प्रतिस्पर्धात्मक संस्करण, 14 बाइट्स

97ôU r@X+Yd +X

ôसमारोह की तरह है o, लेकिन सीमा बनाता है [X..X+Y]के बजाय [X..Y)इसे ऑनलाइन टेस्ट करें!

मैं 97 से 94 को बदलना पसंद करता हूं, जिस स्थिति में 5ऐसा दिखता है।

^_^`^_^a^_^`^_^b^_^`^_^a^_^`^_^c^_^`^_^a^_^`^_^b^_^`^_^a^_^`^_^

1

जावा, 219 बाइट्स

मेरा पहला कोड गोल्फ प्रयास। शायद आगे गोल्फ हो सकता है, लेकिन मुझे भूख लगी है और दोपहर के भोजन के लिए बाहर जा रहा हूं।

public class a{public static void main(String[]a){String b=j("a",Integer.parseInt(a[0]),1);System.out.println(b);}public static String j(String c,int d,int e){if(d>=e){c+=(char)(97+e)+c;int f=e+1;c=j(c,d,f);}return c;}}

Ungolfed:

public class a {
    public static void main(String[] a) {
        String string = addLetter("a", Integer.parseInt(a[0]), 1);
        System.out.println(string);
    }

    public static String addLetter(String string, int count, int counter) {
        if (count >= counter) {
            string += (char) (97 + counter) + string;
            int f = counter + 1;
            string = addLetter(string, count, f);
        }
        return string;
    }
}

सुंदर सीधा जानवर बल पुनरावर्ती एल्गोरिथ्म, charहेरफेर का उपयोग करता है।


आप publicकीवर्ड को / aऔर से हटा सकते हैं । addLetterj
दोरुखायण

1

MATL , 14 बाइट्स

0i:"t@whh]97+c

यह भाषा / संकलक के संस्करण 8.0.0 का उपयोग करता है , जो चुनौती से पहले है।

उदाहरण

>> matl
 > 0i:"t@whh]97+c
 >
> 3
abacabadabacaba

व्याख्या

Secuence संख्या के साथ पहले बनाई गई है 0, 1, 2, ... इन पत्रों में बदल रही हैं 'a', 'b', 'c'अंत में।

0         % initiallize: a(0)
i:        % input "N" and create vector [1, 2, ... N]
"         % for each element of that vector
  t       % duplicate current sequence
  @       % push new value of the sequence
  whh     % build new sequence from two copies of old sequence and new value
]         % end for
97+c      % convert 0, 1, 2, ... to 'a', 'b', 'c'. Implicitly print

संपादित करें

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


1

पॉवरशेल, 53 , 46 , 44 , 41 बाइट्स

1..$args[0]|%{}{$d+=[char]($_+96)+$d}{$d}

कंसोल में पेस्ट करने से दूसरे रन पर इरॉनस आउटपुट उत्पन्न होगा क्योंकि $dपुन: आरंभीकृत नहीं किया गया है।

+ = सहेजें 3 बाइट्स @TimmyD का उपयोग करके 2 बाइट्स सहेजें


असल में @TimmyD के बाद से मैं की जरूरत नहीं होगी 41 के लिए नीचे हो जाता है (, )
जोनाथन लीच-पेपिन

नहीं, यह मेरी गलती थी, मैं वास्तव में इसे अपडेट करना भूल गया, हालांकि मैंने कहा कि मैंने किया था।
जोनाथन लीच-पेपिन

स्क्रिप्ट 0 के साथ नहीं निकलती है और एक अपरकेस अक्षर उत्पन्न नहीं करती है
mazzy



1

जाप , 8 बाइट्स

;gCåÈ+iY

कोशिश करो

;gCåÈ+iY     :Implicit input of integer
 g           :Index into
; C          :  Lowercase alphabet
   å         :  Cumulatively reduce, with an initial value of an empty string
    +        :    Append a copy of the current value
     i       :    Prepended with
      Y      :    The current letter


1

एपीएल (एनएआरएस), 24 चार्ट, 48 बाइट्स

{⍵<0:⍬⋄k,⎕A[⍵+1],k←∇⍵-1}

परीक्षा:

  f←{⍵<0:⍬⋄k,⎕A[⍵+1],k←∇⍵-1}
  f 0
A
  f 1
ABA
  f 2
ABACABA
  f 3
ABACABADABACABA
  f 4
ABACABADABACABAEABACABADABACABA

1
क्या यह 24 बाइट्स बनाकर प्रत्येक वर्ण एक बाइट के साथ APL का उपयोग नहीं करता है?
लवजो

@ लोजोवो के लिए जो मैं जानता हूं कि नारस एपल ने चरित्र के लिए 2 बाइट्स निर्धारित किए हैं
RosLuP

1

PHP -r , 43 बाइट्स

register_argc_argv इस कार्य के लिए सक्षम होना चाहिए।

for($a=$b=a;$argv[1]--;$a.=++$b.$a);echo$a;

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

PHP , 51 बाइट्स

एक अनाम फ़ंक्शन जो सीधे आउटपुट को प्रिंट करता है।

function($n){for($a=$b=a;$n--;$a.=++$b.$a);echo$a;}

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

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