एक वर्णमाला तरंग प्रिंट करें


37

आपको यह सटीक पाठ प्रिंट करना है:

ABABABABABABABABABABABABAB
BCBCBCBCBCBCBCBCBCBCBCBCBC
CDCDCDCDCDCDCDCDCDCDCDCDCD
DEDEDEDEDEDEDEDEDEDEDEDEDE
EFEFEFEFEFEFEFEFEFEFEFEFEF
FGFGFGFGFGFGFGFGFGFGFGFGFG
GHGHGHGHGHGHGHGHGHGHGHGHGH
HIHIHIHIHIHIHIHIHIHIHIHIHI
IJIJIJIJIJIJIJIJIJIJIJIJIJ
JKJKJKJKJKJKJKJKJKJKJKJKJK
KLKLKLKLKLKLKLKLKLKLKLKLKL
LMLMLMLMLMLMLMLMLMLMLMLMLM
MNMNMNMNMNMNMNMNMNMNMNMNMN
NONONONONONONONONONONONONO
OPOPOPOPOPOPOPOPOPOPOPOPOP
PQPQPQPQPQPQPQPQPQPQPQPQPQ
QRQRQRQRQRQRQRQRQRQRQRQRQR
RSRSRSRSRSRSRSRSRSRSRSRSRS
STSTSTSTSTSTSTSTSTSTSTSTST
TUTUTUTUTUTUTUTUTUTUTUTUTU
UVUVUVUVUVUVUVUVUVUVUVUVUV
VWVWVWVWVWVWVWVWVWVWVWVWVW
WXWXWXWXWXWXWXWXWXWXWXWXWX
XYXYXYXYXYXYXYXYXYXYXYXYXY
YZYZYZYZYZYZYZYZYZYZYZYZYZ
ZAZAZAZAZAZAZAZAZAZAZAZAZA

चश्मा

  • आप सभी अपरकेस के बजाय सभी लोअरकेस को प्रिंट कर सकते हैं। हालाँकि, मामला पूरे आउटपुट के अनुरूप होना चाहिए।
  • आप एक अतिरिक्त ट्रेलिंग लाइनफ़ीड प्रिंट कर सकते हैं।

स्कोरिंग

चूंकि यह एक वर्णमाला की लहर है जो थोड़ी हद तक उतार-चढ़ाव करती है, बाइट-काउंट के संदर्भ में आपका कोड भी छोटा होना चाहिए। वास्तव में, बाइट-काउंट जीत के संदर्भ में सबसे छोटा कोड।


39
गंभीरता से, एक और वर्णमाला चुनौती?
नाथन मेरिल

6
@NathanMerrill जितने भी वे हैं, मुझे नहीं लगता कि वे पतन के योग्य हैं। (मैं आपको गलत नहीं समझा, मैं केवल कह रहा हूँ।)
कॉनर ओ'ब्रायन

14
जब तक पैटर्न पर्याप्त रूप से भिन्न होते हैं, मुझे नहीं लगता कि यह मायने रखता है अगर हम वर्णमाला, दशमलव अंक, तारांकन और अंडरस्कोर आदि का उपयोग करते हैं
डेनिस

9
@ डेनिस का उपयोग किए गए पात्रों की परवाह किए बिना, इस प्रकार की "पैटर्न" चुनौतियां जो अतिभारित हो रही हैं, आईएमओ। मुझे नहीं लगता कि इसका ऑफटॉपिक है, लेकिन मैं कुछ ताजी हवा का आनंद ले सकता हूं।
नाथन मेरिल

13
यह स्पष्ट है कि वर्णमाला की चुनौतियों के लिए कोई अधिक मांग नहीं है - पहले 15 घंटों में केवल 39 लोगों ने उत्तर दिया ...
ट्राइकोप्लाक्स

जवाबों:


37

सी, 60 बाइट्स

main(i){for(;i<703;)putchar(i++%27?65+(i/27+i%27%2)%26:10);}

10
यह प्रतिभा है।
लीक नून

सी को एक कोड गोल्फ चैलेंज में देखकर अच्छा लगा।
माइकल जॉनसन

@MichealJohnson " सी देखें ", आईसी आपने वहां क्या किया। ;) और मैं लीक नन से सहमत हूं । कभी-कभी मुझे आश्चर्य होता है कि लोग इनमें से कुछ सरल जवाब कैसे देते हैं।
केविन क्रूज़सेन

@ केविनक्रूजसेन जो अनजाने में ही हो गया था।
जॉनसन

17

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

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

1
व्यावहारिक रूप से हैलो वर्ल्ड के समान आकार। प्रभावशाली!
phyrfox 9




8

विम, 85 83 बाइट्स

:h<_<cr><cr><cr>YZZP:s/./\0\r/g<cr><c+v>ggy25Pqqlxj:let @a='xkPjj'<cr>25@akia<esc>25klq11@qh<ctrl+v>25jylpl<c+v>25jdGdd

मुझे पता है कि यह अधिक गोल्फ हो सकता है, लेकिन मेरा सिर दर्द होता है इसलिए मैं अभी के लिए रुकना चाहता हूं।

<cr>दर्ज कुंजी है, <c+v>ctrl + v है, और <esc>भागने की कुंजी है। उन सभी को एक बाइट के रूप में गिना जाता था।

मैंने इसका एक रिकॉर्ड दर्ज किया, लेकिन यह खराब हो गया। वीडियो हालांकि ठीक है: http://recordit.co/ldLKvho9Gi


8

रूबी, 42 39 38 37 बाइट्स

-3 बाइट्स @ user81655
-1 बाइट के लिए धन्यवाद @manatwork
-1 बाइट के लिए धन्यवाद @NotthatCharles

?A.upto(?Z){|a|puts (a+a.next[0])*13}

इसे repl.it पर देखें: https://repl.it/CmOJ


7

चेडर, 48 बाइट्स

print(65|>90).map(l->@"[l,l>89?65:l+1]*13).vfuse

चेडर तार के साथ अच्छा है: डी

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

व्याख्या

print
  (65|>90)            // Range from 65 (A) to 90 (Z)
  .map(l->            // Map through range
    @"                // Convert following array of char codes to string
      [l,             // The character 
       l>89?65:l+1]   // See below for explanation
      *13             // Repeat 13 times
  ).vfuse             // Vertically fuse

क्या करता l>89?65:l+1है? खैर 89के लिए चार कोड है Y। मूल रूप से, l>89जाँच कर रहा है कि क्या पत्र है Z, इसका मतलब है कि हमें वापस लौट जाना चाहिए A। अगर l>89झूठा है। मैं लौटूंगा l+1, अगले चार


मुझे लगा कि आप @"उनके बीच सम्मिलित हो सकते हैं।
लीक नून

क्या यह एक फ़ंक्शन रिटर्न का उपयोग नहीं करता है?
कॉनर ओ'ब्रायन

@ ConorO'Brien हाँ?
डाउनगोट


@ ConorO'Brien ओह, चुनौती की कल्पना में नहीं देखा था। ठीक कर देंगे
डाउनगोट

7

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

26ḶḂØAṙZj⁷

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

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

26ḶḂØAṙZj⁷  Main link. No arguments.

26Ḷ         Yield [0, ..., 25].
   Ḃ        Bit; compute the parity of each intger.
    ØAṙ     Rotate the alphabet by these amounts.
       Z    Zip; transpose rows and columns.
        j⁷  Join, separating by linefeeds.

Yवापस तो मौजूद नहीं था? इसके अलावा 100k प्रतिनिधि के लिए बधाई !!
आउटगॉल्फ

धन्यवाद! मैंने जाँच की और, दुख की बात है, Yचुनौती पोस्ट किए जाने के दो दिन बाद जोड़ा गया।
डेनिस

क्योंकि आप इसे और नीचे ले जा सकते थे 26ḶḂØAṙZY। लेकिन, जैसा कि अभी है, यह अभी भी अच्छा है।
को आउटगॉल्फ

7

हास्केल, 60 58 बाइट्स

mapM putStrLn[[0..12]>>[a,b]|a:b:_<-scanr(:)"A"['A'..'Z']]

"ए" से शुरू होकर दाईं ओर scanr(:)के वर्णों से एक सूची बनाता है ['A'..'Z']। (-> ["ABCDE...A", "BCDEF..A", ..., "XYZA", "YZA", "ZA", "A"])। (a:b:_)प्रत्येक उपलेस्ट के पहले दो चार्ट से मेल खाता है (कम से कम दो चार्ट के साथ) और इसकी 13 प्रतियां बनाता है।


अन्य भाषाओं द्वारा नियमित रूप से उपयोग की जाने वाली कुछ चीटियों को ध्यान में रखते हुए, मैं इसे केवल वास्तविक मुद्रण शामिल नहीं करना उचित मानता हूं। इस स्थिति में आप इसे "(++" \ n ") = <<" से बदल सकते हैं और 2 बाइट बचा सकते हैं। संभवतः अधिक।
मार्लिन

@ मर्लिन: नहीं, मुझे ऐसा नहीं लगता। गोल्फ भाषाओं को मन में निहित मुद्रण के साथ डिज़ाइन किया गया है और अधिकांश अन्य उत्तरों में कुछ प्रकार के प्रिंटिंग कमांड हैं। Btw, unlinesसे भी छोटा है (++"\n")=<<
nimi

7

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

टिम्मीड का रीमिक्स:

65..89|%{-join[char[]]($_,++$_)*13};"ZA"*13

था, 49 बाइट्स:

0..25|%{(""+[char]($_+++65)+[char]($_%26+65))*13}

उदाहरण आउटपुट


6

पायथन 2, 70 68 54 बाइट्स

सूची आधारित समाधान:

L=map(chr,range(65,91))
for i in range(-26,0):print(L[i]+L[i+1])*13

लेकिन एक सूची क्यों बनाएं? धन्यवाद LeakyNun:

for i in range(26):print(chr(i+65)+chr(-~i%26+65))*13

6

आर, 72 67 60 56 बाइट्स

write(matrix(LETTERS[c(1:26,2:26,1)],26,26,T),"",26,,"")

अतिरिक्त 4 बाइट्स के लिए @Giuseppe को धन्यवाद !

rep60 बाइट्स पर पुराने- आधारित समाधान:

for(i in 1:26)cat(rep(LETTERS[c(i,i%%26+1)],13),"\n",sep="")

एक ऑनलाइन दुभाषिया पर यहाँ देखें । अतिरिक्त 7 बाइट्स के लिए @ user5957401 के लिए धन्यवाद !

72 बाइट्स पर पुराने मैट्रिक्स-आधारित समाधान:

for(i in 1:26)cat(matrix(LETTERS[c(1:26,2:26,1)],26,26)[i,],"\n",sep="")

एक ऑनलाइन दुभाषिया पर यहाँ देखें ।


1
अगर आप इंडेक्स को बदल देते हैं i in 1:26और फिर LETTERS[c(i,i%%26+1)]आपको पत्र चयन 6 या 7 बाइट्स की तरह छोड़ सकता है
user5957401

1
@ user5957401 arf मैं इतनी ज़िद कर रहा था (i+1)%%26कि मेरे साथ इसके विपरीत नहीं हुआ! धन्यवाद!
प्लेनैपस

1
56 बाइट्स फिर से मैट्रिस का उपयोग करते हुए :)
Giuseppe


5

जेलिफ़िश , 26 बाइट्स

P
+'A
~
| S
+$ r2
 ,'
r'

पिछली दो पंक्तियों पर अनुगामी अनपेक्षित वर्णों पर ध्यान दें। इसे ऑनलाइन आज़माएं!

व्याख्या

यह मूल रूप से एक अंकगणितीय हेरफेर दृष्टिकोण है: 0-1 पैटर्न के साथ 26 × 26 ग्रिड बनाएं, पंक्ति के प्रत्येक तत्व में प्रत्येक पंक्ति के सूचकांक को जोड़ते हैं, mod 26 को कम करते हैं, और ASCII के मूल्य को जोड़ते हैं A। जेलिफ़िश में वर्ण केवल एक विशेष ध्वज के साथ संख्याएँ हैं, और सभी अंकगणित उन पर अपेक्षित रूप से काम करते हैं।

नीचे से उपर तक:

  • 'चरित्र शाब्दिक हैं; वे ASCII कोड 26 के साथ unprintables द्वारा पीछा कर रहे हैं, और उन पात्रों के लिए खड़े हैं।
  • निम्न rवर्ण की सीमा 0 से 25 तक होती है।
  • ,दो अमुद्रणीय वर्ण से एक जोड़ी बनाता है।
  • उच्चतर rतर्क दिया जाता है 2, और सीमा बनाता है [0 1]
  • $कि सीमा लेता है, और आकार उसके अन्य तर्क है, जो unprintables की जोड़ी है द्वारा दिए गए में यह नया स्वरूप दे। यह 26 × 26 मैट्रिक्स की वैकल्पिक पंक्तियाँ देता है0 1 0 1 0 1 ...
  • निचले +वर्ण को इस मैट्रिक्स में 0-25 जोड़ता है। पंक्तियों पर इसके वितरण करता है, तो पंक्ति मैं द्वारा वृद्धि की जाती है मैं । यह एक चर मैट्रिक्स में भी परिवर्तित होता है, क्योंकि दक्षिण तर्क में वर्ण होते हैं।
  • ~|फ़्लिप तर्क के साथ मापांक है: दक्षिण तर्क (ऊपर चार मैट्रिक्स) (पूर्व तर्क सापेक्ष कम हो जाता है S, बदल जाता है तर्क खोजने की प्रक्रिया दक्षिण तो यह गंदा शाब्दिक 26) है।
  • उच्चतर परिणामी मैट्रिक्स के प्रत्येक समन्वय के लिए +शाब्दिक जोड़ता है A
  • Pप्रिंट मैट्रिक्स प्रारूप, कि है, उद्धरण चिह्नों के बिना अपनी पंक्ति में प्रत्येक पंक्ति में परिणाम।

1
मैं गोल्फ की कोशिश करना चाहता था लेकिन फिर मैंने उसका नाम देखा जिसने कोड लिखा था।
लीकी नून

@LeakyNun आप अभी भी कोशिश कर सकते हैं! हालांकि 26 बाइट्स इस चुनौती के लिए उपयुक्त हैं।
ज़र्गब

5

विम, 31 बाइट्स

:h<_↵↵↵YZZPJra0qqy2l13Plr↵25@qD

रिटर्न कुंजी कहां है।

यहाँ छवि विवरण दर्ज करें


5

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

@ डॉम हेस्टिंग्स से समाधान । (12 बाइट्स मेरे से छोटे!)
-1 बाइट थैंक्स टू @ हास्पेल

say+($_++,chop)x13for A..Z

साथ चलाएं -M5.010या -E:

perl -E 'say+($_++,chop)x13for A..Z'

प्रबंधित करने के लिए इसे नीचे पाने के लिए 33:, say+($_++,$_--=~/^./g)x13for A..Zलेकिन मुझे यकीन है कि वहाँ से एक छोटा पाने के लिए एक रास्ता है: say+($_++,$_--)x13for A..Z...
डोम हेस्टिंग्स

मुझे यकीन नहीं है कि मेरे पास --वहाँ क्यों है , इसकी ज़रूरत नहीं है! O_O। 27:say+($_++,/^./g)x13for A..Z
डोम हेस्टिंग्स 7

@DomHastings अच्छी तरह से किया! मैंने say+($_,$_++)x13for A..Zपहली बार कोशिश की जो काम नहीं किया, लेकिन ऐसा लगता है कि मुझे उस दिशा में आगे बढ़ना चाहिए!
दादा

1
say+($_++,chop)x13for A..Zएक और बाइट बचाता है
टन हास्पेल

@ महान सुसमाचार, इसके लिए धन्यवाद।
दादा

5

टी-एसक्यूएल 133 बाइट्स (गोल्फ द्वारा: @ t-clausen.dk)

SELECT REPLICATE(Char(number+65)+IIF(number=25,'A',Char(number+66)),13)FROM spt_values WHERE number<26and'P'=TYPE

टी-एसक्यूएल, 151 बाइट्स

संख्या का अनुक्रम उत्पन्न करने के लिए सीटीई का उपयोग करना

;WITH n(a,v) AS(SELECT CHAR(65)+CHAR(66), 66 UNION ALL SELECT CHAR(v)+CHAR(v+1), v+1 FROM n WHERE v < 91)SELECT REPLICATE(REPLACE(a,'[','A'),13) FROM n

टी-एसक्यूएल, 155 बाइट्स

SELECT REPLICATE(Char(number+65)+ CASE WHEN number=25 THEN 'A' ELSE Char(number+66) END, 13) FROM master.dbo.spt_values  WHERE name IS NULL AND number < 26

मैंने आपके उत्तर को 113 वर्णों तक सीमित कर दिया है । मैंने
t-clausen.dk

@ t-Clausen.dk उत्कृष्ट है। कृपया अपना उत्तर पोस्ट करें। मेरा तो मिट जाएगा।
अनुज त्रिपाठी

आपके उत्तर को हटाने का कोई कारण नहीं है, आप अपने उत्तर को बेहतर बनाने के लिए मेरी फ़ाइडल का उपयोग कर सकते हैं। मैंने पहले ही 1 घंटे पहले पोस्ट किया था, यदि आप टीएसक्यूएल का आनंद लेते हैं, तो आपको मेरे अन्य उत्तरों पर एक नज़र डालनी चाहिए। मैंने उनमें से अधिकांश के लिए
फ़िडल्स बनाए


4

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

jCm.<G~!ZG

प्रदर्शन

स्पष्टीकरण:

jCm.<G~!ZG
  m      G    Map over G, predefined to the lowercase alphabet.
              This will give 26 columns.
   .<G        Left shift (cyclically) G by
        Z     Z elements. Z is initialized to 0.
      ~!      After using its value, logical not Z. (0 -> 1, 1 -> 0)
 C            Transpose
j             Join on newlines

अच्छा है, काश मुझे पता होता कि जितना आप Pyth के बारे में करते हैं
Stan Strum

4

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

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

8-बिट कोशिकाओं के साथ एक दुभाषिया की आवश्यकता होती है और बाईं ओर एक टेप बाध्य नहीं होता है। इसे ऑनलाइन आज़माएं!


3

लूआ, 80 65 बाइट्स।

s = string c = s.char for i=1,26 do print(s.rep(c(64+i)..c((65+(i%26))),13)) end

लीके नन की मदद से

c=("").char for i=1,26 do print((c(64+i)..c(65+i%26)):rep(13))end

लुआ एक बहुत ही अयोग्य भाषा है जिसमें तार और इस तरह से निपटने के संबंध में है, इसलिए यह सबसे अच्छा है जो मैं इसे संकीर्ण कर सकता हूं।


PPCG में आपका स्वागत है! अच्छी पहली पोस्ट! यदि आप कुछ अनावश्यक s=string c=s.char for i=1,26 do print(s.rep(c(64+i)..c((65+(i%26))),13))end
व्हाट्सएप

for i=1,26 do print(((64+i):char()..(65+(i%26)):char()):rep(13))end(परीक्षण नहीं)
लीकी नून

क्योंकि string.rep(x,13)मूल रूप से हैx:rep(13)
लीक नन

सही! मैं स्ट्रिंग लायब्रेरी के लिए डिफ़ॉल्ट रूप से अनुक्रमित स्ट्रिंग को भूल गया।
एटीकेओ

हालांकि अच्छा है, 65+ (i% 26) जैसी संख्याओं को तब तक गिना नहीं जाता जब तक कि इस तरह के रूप में संग्रहीत नहीं किया जाता है। मैं उस नरक के लिए उस काम को करने के लिए एक रास्ते पर काम करूँगा।
एटीको


3

05AB1E, 12 बाइट्स

ADÀ)øvyJ5Ø×,

व्याख्या

AD            # push 2 copies of the alphabet
  À           # rotate the 2nd one left by 1
   )ø         # add to list and zip
     v        # for each
      yJ      # join the pair
        5Ø×   # repeat it 13 times
           ,  # print with newline

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


मुझे पता है कि यह एक पुराना सवाल है, लेकिन मैं सिर्फ अपनी मदद नहीं कर सकता। ADÀ)ø13×»साथ ही 9 बाइट्स के साथ काम करता है।
दतबी

@ डटबोई: जो वास्तव में अब काम करता है, लेकिन दुर्भाग्य से यह उस समय काम नहीं आया जब यह प्रश्न पोस्ट किया गया था :(
एमिग्ना

3

मैथमेटिका, 82 75 67 66 बाइट्स

Print@FromCharacterCode@PadLeft[{},26,{i-1,i}~Mod~26+65]~Do~{i,26}

तकनीकी रूप से छोटा है, हालांकि यह अपरकेस के बजाय लोअरकेस में प्रिंट करता है:

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

Print[""<>FromLetterNumber@Table[{i-1,i}~Mod~26+1,13]]~Do~{i,26}

1
अच्छी चाल का उपयोग कर PadLeft
लीक


1

MATLAB, 47 38 बाइट्स

a=(65:90)';char(repmat([a a([2:end 1])],1,13))

char(repmat([65:90;[66:90 65]]',1,13))

पहले ASCII में वर्णमाला का एक कॉलम ऐरे बनाता है, एक शिफ्ट की गई कॉपी को अपने दाईं ओर एक कॉलम के रूप में जोड़ता है, जिसके परिणामस्वरूप 26 * 2 एरे 13 बार कॉलमवाइज़ दोहराता है, एक कैरेक्टर ऐरे में जाता है और डिफ़ॉल्ट रूप से प्रिंट करता है।

दूसरा एक 2 * 26 वर्णमाला बनाता है और वर्णमाला को स्थानांतरित करता है, इसे स्थानांतरित करता है फिर ऊपर के रूप में जारी रहता है।


आप [... '']इसके बजाय एक बाइट का उपयोग करके बचा सकते हैं char(...)
पजाकोंग

और आप बस [65:90;66:90 65]दो बाइट्स बचाकर उपयोग कर सकते हैं ।
पजाकोंग

1

जे, 20 19 बाइट्स

मील के लिए 1 बाइट धन्यवाद।

u:65+26|(+/2&|)i.26

ऑनलाइन दुभाषिया

यह वास्तव में कार्यक्रम है जिसे मैंने चुनौती में पाठ उत्पन्न करने के लिए उपयोग किया था।


आप @
मील


1

PHP, 102 बाइट्स

<?php $a='ABCDEFGHIJKLMNOPQRSTUVWXYZA';$i=-1;while($i++<25){echo str_repeat(substr($a,$i,2),13)."\n";}

आप वर्णमाला स्ट्रिंग से उद्धरण हटा सकते हैं। \ N के बजाय \ n वास्तविक एंट्री से बदलें। उस विचार को @insertusernamehere से चुरा लिया। तो मैं क्या मतलब के लिए उसके जवाब की जाँच करें। संपादित करें: इसके अलावा शॉर्ट-टैग नोटेशन का उपयोग करें <? आपको <के बाद भी स्पेस की जरूरत नहीं है।? तो <?$a='ABC'भी काम करता है।
जीरन

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