भ्रमित करने वाली वर्णमाला सीढ़ी


25

किसी इनपुट को देखते हुए, किसी स्वीकृत आउटपुट विधि के माध्यम से इस दिलचस्प वर्णमाला के पैटर्न को (मामले को सुसंगत होना चाहिए) आउटपुट करें :

ए
एबी
ACBC
ADBDCD
AEBECEDE
AFBFCFDFEF
AGBGCGDGEGFG
AHBHCHDHEHFHGH
AIBICIDIEIFIGIHI
AJBJCJDJEJFJGJHJIJ
AKBKCKDKEKFKGKHKIKJK
ALBLCLDLELFLGLHLILJLKL
AMBMCMDMEMFMGMHMIMJMKMLM
ANBNCNDNENFNGNHNINJNKNLNMN
AOBOCODOEOFOGOHOIOJOKOLOMONO
APBPCPDPEPFPGPHPIPJPKPLPMPNPOP
AQBQCQDQEQFQGQHQIQJQKQLQMQNQOQPQ
ARBRCRDRERFRGRHRIRJRKRLRMRNRORPRQR
ASBSCSDSESFSGSHSISJSKSLSMSNSOSPSQSRS
ATBTCTDTETFTGTHTITJTKTLTMTNTOTPTQTRTST
AUBUCUDUEUFUGUHUIUJUKULUMUNUOUPUQURUSUTU
AVBVCVDVEVFVGVHVIVJVKVLVMVNVOVPVQVRVSVTVUV
AWBWCWDWEWFWGWHWIWJWKWLWMWNWOWPWQWRWSWTWUWVW
AXBXCXDXEXFXGXHXIXJXKXLXMXNXOXPXQXRXSXTXUXVXWX
AYBYCYDYEYFYGYHYIYJYKYLYMYNYOYPYQYRYSYTYUYVYWYXY
AZBZCZDZEZFZGZHZIZJZKZLZMZNZOZPZQZRZSZTZUZVZWZXZYZ

ट्रेलिंग स्पेस और न्यूलाइन्स स्वीकार्य हैं, मानक खामियों को रोक दिया गया है, और यह , इसलिए बाइट्स में सबसे कम जवाब जीतता है!



BTW अगर मुझे एक अद्भुत उत्तर मिलता है तो मैं इसे 50 प्रतिनिधि
FantaC

13
अग्रणी Aवास्तव में मेरे लिए चीजों को गड़बड़ करता है ...
ETHproductions

2
कुछ लोग बस इस तरह की चुनौतियों को पसंद नहीं करते हैं जो मुझे लगता है।
जोनाथन एलन

1
@ETHproductions यह मेरे लिए चीजों को सरल बनाता है!
नील

जवाबों:


5

कैनवस , 7 बाइट्स

Z[K*¹+]

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

स्पष्टीकरण:

Z[     ] for each prefix of the uppercase alphabet
    K        pop off the last letter
     *       and join the rest of the string with that character
      ¹+     and append the current iterated character to it

आपने अपना पिछला उत्तर संपादित क्यों नहीं किया?
नील

@ अच्छा सवाल। यकीन नहीं होता
दिज़िमा

स्वीकार किए जाते हैं! आपने जेली और चारकोल को दो बाइट्स से हराया!
FantaC

8

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

ØAjṪ$Ƥż¹Y

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

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

ØAjṪ$Ƥż¹Y  Main link. No arguments.

ØA         Yield "ABCDEFGHIJKLMNOPQRSTUVWXYZ".
     Ƥ     Map the link to the left over all prefixes, i.e., ["A", "AB", ...].
    $        Combine the two links to the left into a chain.
   Ṫ           Tail; yield and remove the last letter of each prefix.
  j            Join the remainder, using that letter as separator.
      ż¹   Zip the resulting strings and the letters of the alphabet.
        Y  Separate the results by linefeeds.

2
ओह, हाहा और मैं बस पोस्ट करने वाले थे ØAjṪ$ƤżØAY: डी
जोनाथन एलन



6

चारकोल , 9 बाइट्स

Eα⁺⪫…ακιι

इसे ऑनलाइन आज़माएं! लिंक कोड के वर्बोज़ संस्करण के लिए है। स्पष्टीकरण:

 α          Predefined uppercase alphabet
E           Map over each character
    …ακ     Get current prefix of alphabet
   ⪫   ι    Join with current character
  ⁺     ι   Append current character
            Implicitly print on separate lines


4

6502 मशीन कोड रूटीन (C64), 39 बाइट्स

A9 41 20 D2 FF AA A8 84 FB E4 FB B0 0B 8A 20 D2 FF 98 20 D2 FF E8 D0 F1 A9 0D
20 D2 FF A2 41 C0 5A F0 03 C8 D0 E1 60

पोजीशन-इंडिपेंडेट मशीन कोड सबरूटीन, क्लोबर्स ए, एक्स और वाई।

ऑनलाइन डेमो

डेमो लोड होता है $C000, इसलिए SYS49152रूटीन को कॉल करने के लिए उपयोग करें।


असंतुष्ट टिप्पणी:

A9 41       LDA #$41            ; 'A'
20 D2 FF    JSR $FFD2           ; Kernal CHROUT (output character)
AA          TAX                 ; copy to X (current pos)
A8          TAY                 ; copy to Y (current endpos)
  .outerloop:
84 FB       STY $FB             ; endpos to temporary
  .innerloop:
E4 FB       CPX $FB             ; compare pos with endpos
B0 0B       BCS .eol            ; reached -> do end of line
8A          TXA                 ; current pos to accu
20 D2 FF    JSR $FFD2           ; and output
98          TYA                 ; endpos to accu
20 D2 FF    JSR $FFD2           ; and output
E8          INX                 ; next character
D0 F1       BNE .innerloop      ; (repeat)
  .eol:
A9 0D       LDA #$0D            ; load newline
20 D2 FF    JSR $FFD2           ; and output
A2 41       LDX #$41            ; re-init current pos to 'A'
C0 5A       CPY #$5A            ; test endpos to 'Z'
F0 03       BEQ .done           ; done when 'Z' reached
C8          INY                 ; next endpos
D0 E1       BNE .outerloop      ; (repeat)
  .done:
60          RTS

3

जावा 8, 93 91 90 बाइट्स

v->{String t="";for(char c=64;++c<91;t+=c)System.out.println(t.join(c+"",t.split(""))+c);}

-1 बाइट का धन्यवाद @ ओलिवियरग्रेयर के लिए सीधे लौटने के बजाय सीधे प्रिंट करके

स्पष्टीकरण:

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

v->{                     // Method with empty unused parameter and String return-type
  String t="";           //  Temp-String, starting empty
  for(char c=64;++c<91;  //  Loop over the letters of the alphabet:
      t+=c)              //    After every iteration: append the letter to the temp-String
    System.out.println(  //   Print with trailing new-line:
       r.join(c+"",t.split(""))
                         //    The temp-String with the current letter as delimiter
       +c);}             //    + the current letter as trailing character 

2
90 बाइट्स (केवल लौटने के बजाय स्टडआउट का उपयोग करके)।
ओलिवियर ग्रेजायर

अच्छा जवाब! मैंने यह देखने के लिए C # को पोर्ट किया कि क्या वह छोटा था और मुझे 91 मिले (अधिक अगर मैं शामिल करूँ तो System.) :)
अलोएग्ड का कहना है कि मोनिका

3

SNOBOL4 (CSNOBOL4) , 169 143 बाइट्स

i &ucase len(x) . r len(1) . s
 o =
 i =
t r len(i) len(1) . k :f(o)
 o =o s k
 i =i + 1 :(t)
o o s =
 output =o s
 x =lt(x,25) x + 1 :s(i)
end

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

i &ucase len(x) . r len(1) . s	;* set r to the first x characters and s to the x+1th.
 o =				;* set o,i to empty string
 i =
t r len(i) len(1) . k :f(o)	;* set k to the ith letter of r. on failure (no match), go to o.
 o =o s k			;* concatenate o,s,k
 i =i + 1 :(t)			;* increment i, goto t
o o s =				;* remove the first occurrence of s (the first character for x>1, and nothing otherwise)
 output =o s			;* output o concatenated with s
 x =lt(x,25) x + 1 :s(i)	;* increment x, goto i if x<25.
end

यहां समस्या पहली पंक्ति है

उपयोग करने से प्रत्येक पंक्ति की शुरुआत में o s kएक अतिरिक्त sइपटेटर चरित्र जुड़ जाएगा और sअंत में भी नहीं होगा । यह ठीक है क्योंकि लाइन tनिम्नलिखित दो लाइनों पर कूद जाएगी जब x=0। इसका मतलब है कि oअभी भी खाली रहेगा। इसलिए, o s =पहले sवर्ण को हटा देगा o, और फिर हम o sउचित अंतिम के लिए प्रिंट कर सकते हैं s


2

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

f=
_=>[..."ABCDEFGHIJKLMNOPQRSTUVWXYZ"].map((c,i,a)=>a.slice(0,i).join(c)+c).join`
`
;document.write('<pre>'+f());

यदि एक स्ट्रिंग सरणी वापसी मान स्वीकार्य है, तो 9 बाइट्स सहेजें।


2

जाप ( -Rध्वज), १४ १२ बाइट्स

-2 बाइट्स @ शुग्गी को धन्यवाद

;B¬
ËiU¯E qD

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


अगर केवल एक शॉर्टकट के लिए थे s0,! ; पी
झबरा

12 बाइट्स । लेकिन आप -Rयहाँ क्यों नहीं गिन रहे हैं?
झबरा

@ शैगी ओह वाह, मुझे पता था कि मुझे कुछ याद आ रहा है: पी iट्रिक बहुत अच्छी है, धन्यवाद! ध्वज के रूप में, एक नई सर्वसम्मति प्रतीत होती है कि किसी कार्यक्रम के प्रत्येक विशिष्ट आह्वान को एक अलग भाषा माना जाना चाहिए। (जो जाप के ध्वज प्रणाली को एक प्रकार का धोखा लगता है ...)
ETHproductions


2

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

"A";65..89|%{([char[]](65..$_)-join[char]++$_)+[char]$_}

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

लूप्स 65के लिए 89, प्रत्येक यात्रा एक निर्माण charकी सरणी 65वर्तमान संख्या $_है, तो -joinअगले चरित्र के साथ एक स्ट्रिंग में कि सरणी है एक साथ, तो अंत में उस चरित्र पर टैक्स।

89व्यवहार को बेहतर देखने के लिए कुछ अन्य ASCII संख्या में बदलें ।


2

> <> , 44 34 बाइट्स

"BA"oao"ZA"\=?;1+40.
o1+:{::o}=?\:

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

> <> , 44 बाइट्स

"A"o10ao\55*=?;1+40.
1+:{:}=?\:"A"+o{:}"A"+o

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

जैसा कि मैंने अपने खुद के पोस्ट किए गए आउटपुट का उत्पादन करने के लिए एक अलग मार्ग का उपयोग किया है> <> जवाब; अन्य> <> उत्तर यहां पाया जा सकता है।

अगर मैं सिर्फ 26 "के बजाय" जेड "के खिलाफ तुलना में ढेर पर" ए "रखने की ज़रूरत नहीं है, तो स्पॉट करने के लिए जो राजा के लिए बड़ा धन्यवाद। (-10 बाइट्स)

व्याख्या

स्पष्टीकरण कोड के प्रवाह का पालन करेगा।

"BA"                 : Push "BA" onto the stack;
                       [] -> [66, 65]
    oao              : Print the stack top then print a new line;
                       [66, 65] -> [66]
       "ZA"\         : Push "ZA" onto the stack then move down to line 2;
                       [66, 90, 65]
o          \:        : Duplicate the stack top then print
 1+:                 : Add one to the stack top then duplicate;
                       [66, 90, 65, 65]
    {::              : Shift the stack right 1 place then duplicate the stack top twice;
                       [90, 65, 65, 66, 66]
       o}            : Print the stack top then shift the stack left 1 place;
                       [66, 90, 65, 65, 66]
         =?\         : Comparison for equality on the top 2 stack items then move to line 1 if equal otherwise continue on line 2;
                       [66, 90, 65]
           \=?;      : Comparison for equality on the top 2 stack items then quit if equal else continue on line 1;
                       [66]
               1+    : Add 1 to the stack top;
                       [67]
                 40. : Move the code pointer to column 4 row 0 of the code box and continue execution of code. 

36 बाइट्स । आपका तरीका मेरी तुलना में बहुत बेहतर है
जो किंग

inb4 "पार किया 44 अभी भी 44 है;"
जो राजा

@JoKing Z की तुलना करने के साथ उत्कृष्ट स्थान, केवल मैंने जो सुधार किया वह लाइन लॉजिक चल रहा था और Z को स्टैक आइटम के बीच में रखकर फिर से उन उद्धरण चिह्नों का उपयोग करके सहेजना था।
टीले पेलिकन



1

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

ØA¹Ƥ+"¹Ṗ€Yṭ”A

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

व्याख्या

ØA¹Ƥ+"¹Ṗ€Yṭ”A  Main Link
ØA              Uppercase Alphabet
  ¹Ƥ            Prefixes
    +"¹         Doubly-vectorized addition to identity (uppercase alphabet) (gives lists of lists of strings)
       Ṗ€      a[:-1] of each (get rid of the double letters at the end)
         Y     Join on newlines
          ṭ”A  "A" + the result

आंशिक रूप से गालियां जिस तरह से तार और चरित्र सूची जेली में भिन्न होती है


यह जल्दी था!
फंतासी

@tfbninja ehhh, जेली के लिए 11 मिनट ठीक है। धन्यवाद हालांकि: P
HyperNeutrino

आप अपने दूसरे जगह ले सकता है ØAके साथ ¹(डेनिस की तरह)
जोनाथन एलन

@JonathanAllan ओह शांत, धन्यवाद!
हाइपरएनुट्रिनो


1

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

⍎∊'a←⎕av[65+⍳26]⋄a[n←1]',25⍴⊂'⋄,⊃a[⍳n-1],¨a[n←n+1]'

स्पष्टीकरण:

a←⎕av[65+⍳26] create a vector of upper case letters

a[n←1] first A

25⍴⊂'⋄,⊃a[⍳n-1],¨a[n←n+1]' create an implicit loop to concatenate subsequent letters

1

> <> , 47 बाइट्स

d2*:1-v
-&$:?!\$:&$:1
1-:?!v\69*-$1-:
+*88~< 1o

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

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

d2*:1-v Initialise the stack with 26 (outer loop counter) and 26-1 (inner loop counter)
....
....
....

....
-&$:?!\$:&$:1 Repeatedly make copies of both counters
....          And decrement the inner loop counter
....          Go to third line when inner loop counter is 0

....            Add -54 to the stack (for the newline) and decrement the outer loop counter
....            Initialise the inner loop counter as outer-1
1-:?!v\69*-$1-: If the inner counter is 0, go to the fourth line, else back to the second.
....

....
....      
....      Transform numbers and -54s into letters and newlines by adding 64
+*88~< 1o Output each character until it runs out of stack and errors



1

जीएनयू एम 4, 119 बाइट्स

अब तक का सबसे बुरा। खैर, समय पहले से ही खर्च हो रहा है ...

define(f,`ifelse($1,$2,,`format(%c%c,$1,$2)`'f(incr($1),$2)')')define(g,`f(65,$1)ifelse($1,90,,`
g(incr($1))')')A
g(66)

1

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

Γ·:mhSzJḣ…"AZ

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

व्याख्या

यह Aवास्तव में चीजों को गड़बड़ करता है।

          "AZ  -- string literal: "AZ"
         …     -- fill gaps: "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
     S         -- with alphabet and
        ḣ      -- | alphabet rangified: ["A","AB","ABC",…,"AB……XYZ"]
      zJ       -- : zipWith join: ["A","ABB","ACBCC","ADBDCDD",…,"AZB……ZYZZ"]
Γ              -- pattern match (x:xs) with the following function (x is "A" and xs ["ABB","ACBCC",…,"A……ZYZZ"]
 · mh          -- | drop the last element of each element of xs: ["AB","ACBC",…,"A……ZYZ"]
  :            -- | cons (construct list): ["A","AB","ACBC",…,"A……ZYZ"]
               -- : strings are printed implicitly

1

C # (.NET कोर)

केविन क्रूज़सेन के जवाब से पोर्ट :

91 90 बाइट्स

_=>{var t="";for(char c='@';++c<91;t+=c)Console.WriteLine(string.Join(c+"",t.Skip(0))+c);}

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

132 122 110 109 104 103 बाइट्स

_=>"ABCDEFGHIJKLMNOPQRSTUVWXYZ".Select((c,i)=>string.Join(""+c,"ABCDEFGHIJKLMNOPQRSTUVWXYZ".Take(i))+c)

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

  • बदलें ()के साथ _दिखाने के लिए कि हम एक अप्रयुक्त चर घोषणा करते हैं। धन्यवाद केविन क्रूज़सेन।

आप एक खाली अप्रयुक्त पैरामीटर का उपयोग करके इसे 90 बाइट्स तक कम कर सकते हैं जैसे मैंने अपने जावा उत्तर में किया था। इसलिए o=>{...}इसके बजाय ()=>{...}इसे ऑनलाइन आज़माएँ: 90 बाइट्स
केविन क्रूज़सेन

@ केविनक्रूजसेन मुझे पता नहीं था! धन्यवाद!
aloisdg का कहना है कि मोनिका


1

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

ØAż€Ð€`F€µJ’Ḥ»1ż@¹ḣ/€Y

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

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

                       take argument implicitly
ØA                     the uppercase alphabet
    Ѐ`                for C in the alphabet
  ż€                     appends C to every letter in the alphabet
       F€              flatten every sublist
          J            get indices
           ’           subtract 1
            Ḥ          and double
             »1        take max([n, 1])
         µ     ż@¹     interleave alphabet list and indices
                  ḣ/€  reduce on head() for each element
                     Y join on newline
                       implicitly output




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