बीटल्स गाने और हेक्सागोंस


30

दो त्रिभुज (यानी पिरामिड) आकार के कार्यक्रम लिखें।

पहले तीन अक्षरों की न्यूनतम आधार चौड़ाई के साथ पाठ त्रिकोण को इंगित करते हुए एक ऊपर की ओर होना चाहिए। तो यह एक संरचना की तरह होगा

 X
XXX

या

  X
 XXX
XXXXX

या

   X
  XXX
 XXXXX
XXXXXXX

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

दूसरे प्रोग्राम में पहले जैसा आकार और आकार होना चाहिए, सिवाय इसके कि त्रिकोण नीचे की ओर इशारा करेगा।

तो अगर आपका पहला प्रोग्राम दिखता है

  X
 XXX
XXXXX

तब आपका दूसरा कार्यक्रम जैसा दिखेगा

yyyyy
 yyy
  y

जहां प्रत्येक yएक चरित्र है जिसे आपको अपने वास्तविक कोड (शायद आपके Xकोड से अलग ) के साथ भरना होगा । रिक्त स्थान और newlines यहाँ भी वही रहना चाहिए।

आपका कार्य इन कार्यक्रमों को इस तरह लिखना है कि वे प्रत्येक आउटपुट (स्टडआउट या निकटतम विकल्प के लिए) एक अलग बीटल्स गीत का शीर्षक , कोई इनपुट नहीं ले रहे हैं। यह विकिपीडिया लेख बीटल्स के लिए हमारी आधिकारिक गीत सूची के रूप में काम करेगा। आउटपुट टाइटल्स में से एक होना चाहिए, जैसे कि सूचीबद्ध I Want You (She's So Heavy)

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

दो त्रिकोणीय कार्यक्रमों में से प्रत्येक की तीन प्रतियों को मिलाकर हम एक षट्भुज की तरह आकार का तीसरा कार्यक्रम बना सकते हैं।

यदि आपके पहले कार्यक्रम की आधार चौड़ाई तीन थी, तो यह इस तरह दिखेगा:

 XyyyX
XXXyXXX
yyyXyyy
 yXXXy

यदि आधार चौड़ाई पांच थी, तो यह इस तरह दिखाई देगी:

  XyyyyyX
 XXXyyyXXX
XXXXXyXXXXX
yyyyyXyyyyy
 yyyXXXyyy
  yXXXXXy

इस कार्यक्रम (जब रिक्त स्थान और अन्य लोगों की तरह नईलाइन्स के साथ चलाया जाता है) को पहले दो कार्यक्रमों की तरह ही एक और बीटल्स गीत शीर्षक का उत्पादन करना होगा। इसके अलावा:

  • आपके तीन कार्यक्रमों को अलग-अलग गीत के शीर्षक का उत्पादन करना चाहिए।
  • केवल गाने के शीर्षक में आठ वर्णों की लंबाई या उससे अधिक की अनुमति है।
  • आप केवल एक का चयन कर सकते हैं Revolution, Revolution 1और Revolution 9क्योंकि शीर्षक समान हैं।
  • आपको अपने तीन पसंदीदा बीटल्स गाने चुनने होंगे। (खैर, कोशिश करें)

ध्यान दें कि वास्तविक कार्यक्रमों की आवश्यकता है। कार्य करने की अनुमति नहीं है। किसी भी कार्यक्रम में अपने स्वयं के स्रोत कोड को पढ़ना भी अनुमति नहीं है।

उदाहरण

अगर आपका पहला कार्यक्रम था

  A
 AAA
AAAAA

यह उत्पादन कर सकता है Across the Universe

फिर आपका दूसरा कार्यक्रम

bbbbb
 bbb
  b

उत्पादन कर सकता है Revolution

फिर षट्भुज कार्यक्रम में संयुक्त

  AbbbbbA
 AAAbbbAAA
AAAAAbAAAAA
bbbbbAbbbbb
 bbbAAAbbb
  bAAAAAb

उत्पादन हो सकता है Get Back

स्कोरिंग

सबसे छोटी त्रिकोण आधार चौड़ाई के साथ सबमिशन जीतता है। संबंधों के संभावित मामले में अपने तीन गीतों के सबसे बड़े सम्‍मिलित लंबाई के साथ सबमिशन जीतता है।


2
निश्चित रूप से टाईब्रेकर तीन गानों का सबसे अच्छा विकल्प होना चाहिए? ;)
डग मैकक्लेन

1
मुझे सिर्फ Sp3000 की विधि की नकल किए बिना एक पायथन प्रविष्टि लिखने में कठिनाई हो रही है (कभी नहीं सोचा था कि मैं सिंथैटिक व्हाट्सएप के बारे में शिकायत करूंगा !), लेकिन मैंने एक षट्भुज में दो त्रिकोणों को इकट्ठा करने के लिए एक स्क्रिप्ट लिखी थी। मामले में यह किसी और के लिए उपयोगी है, यहाँ यह एक जिस्ट में है
टिम पेडरिक

@ mbomb007 त्रिभुज रिक्त स्थान का हिस्सा नहीं त्रिभुज पैटर्न ठीक नहीं है।
केल्विन के शौक

@TimPederick जब से मुझे आपके षट्भुज-ifier काम करने के लिए नहीं मिला, मैंने इसे 2 मल्टी-लाइन स्ट्रिंग्स के साथ शुरू करने के लिए एक पायथन स्क्रिप्ट लिखी। यहां देखें कि क्या कोई इसका इस्तेमाल करना चाहता है।
mbomb007

@ mbomb007 क्षमा करें, लेकिन शीर्षक के भाग के नहीं होने के बाद एक अनुगामी स्थान की अनुमति नहीं है। (मैं बहुत सी प्रिंट स्टेटमेंट्स जोड़ने के बाद से एक अनुगामी न्यूलाइन की अनुमति देता हूं।) मैं सामान्य बैकस्पेस नीति के बारे में निश्चित नहीं हूं, लेकिन वे मेरे साथ ठीक हैं।
केल्विन के शौक

जवाबों:


18

GolfScript, चौड़ाई = 9 वर्ण, शीर्षक = 33 वर्ण

षट्कोण

    "Let It Be"
   }";"Yeste"}";      
  "Twi""rda""Twi"
 "st an""y""st an"
"d Shout"}"d Shout"
Let It Be"Let It Be
 "Yeste"}";"Yeste"
  "rda""Twi""rda"
   "y""st an""y"
    }"d Shout"}

प्रिंट्स इसे रहने दो । (9 अक्षर)

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

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

"Let It Be"पहली पंक्ति पर टोकन स्ट्रिंग को धकेलता है इसे स्टैक पर रहने दें

दूसरी पंक्ति के साथ शुरू होता है }, एक अनिर्दिष्ट "सुपर कमेंट" जो निष्पादन को तुरंत समाप्त कर देता है।

बाहर निकलने से पहले, GolfScript स्टैक की सामग्री को प्रिंट करता है।

एक्स त्रिकोण

    "
   }";
  "Twi"
 "st an"
"d Shout"

प्रिंट्स ट्विस्ट एंड शाउट । (15 अक्षर)

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

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

पहली दो पंक्तियाँ स्ट्रिंग को धक्का देती हैं "\n }", जो कमांड ;स्टैक से निकलती है।

शेष पंक्तियों में टोकन हैं "Twi", "st an"और "d Shout", जो तीन टुकड़ों में स्ट्रिंग ट्विस्ट और चिल्लाओ को धक्का देते हैं।

बाहर निकलने से पहले, GolfScript स्टैक की सामग्री को प्रिंट करता है।

Y त्रिकोण

Let It Be
 "Yeste"
  "rda"
   "y"
    }

प्रिंट्स कल । (9 अक्षर)

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

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

टोकन Let, Itऔर Beपहली पंक्ति पर अपरिभाषित हैं, इसलिए वे कुछ भी नहीं करते हैं।

निम्न तीन पंक्तियों में टोकन होते हैं "Yeste", "rda"और "y", जो स्ट्रिंग को कल तीन टुकड़ों में धक्का देते हैं।

}अंतिम पंक्ति पर कुछ नहीं करता है; कार्यक्रम वैसे भी समाप्त हो गया होता।

एक बार फिर, गोल्फस्क्रिप्ट बाहर निकलने से पहले स्टैक की सामग्री को प्रिंट करता है।


21

बेफ़ुंज -93, चौड़ाई = 13 15 , शीर्षक = 31 24 वर्ण

पिछली रात एक पावर आउटेज ने मुझे इसे अपडेट करने से रोका जब मैंने इसका पता लगाया, लेकिन मैं त्रिकोण की चौड़ाई को कम करने और गाने की लंबाई बढ़ाने में कामयाब रहा !

इंगित-अप कार्यक्रम: "खोदो एक टट्टू", 10 वर्ण:

      v
     v> 
    v#  >
   "<     
  v <>"y"v>
 <v"Dig a P"
"^>:#,_@.>"no

व्याख्या

मैं वास्तव में Befunge की रैप-अराउंड ट्रिक का लाभ उठाता हूं और मैंने विशेष रूप से "Dig a Pony" को चुना क्योंकि इसमें 6 वें स्थान पर स्थान था। यह कार्यक्रम के प्रवाह को गीत के नाम से जाने की अनुमति देता है । यह कैसे काम करता है यह देखने के लिए ऑनलाइन दुभाषिया में कोशिश करें ।

इंगित-डाउन कार्यक्रम: "इफ आई फेल", 9 वर्ण:

< v"f I Fell"
 v>"I">:#,_@
  "raC yM "
   v"Drive


       .

(अवधि विलुप्त है और केवल अन्य लाइनों को दिखाने के लिए शामिल है।)

व्याख्या

यहां केवल प्रासंगिक लाइनें पहले दो हैं। मैंने एक और चरित्र में निचोड़ने के लिए रैप-अराउंड ट्रिक (इंस्ट्रक्शन पॉइंटर को तुरंत छोड़ दिया जाता है) का उपयोग किया। दूसरी पंक्ति गीत के नाम को छापती है।

संयुक्त: "ड्राइव माय कार", 12 वर्ण:

      v< v"f I Fell"v
     v> v>"I">:#,_@v> 
    v#  >"raC yM "v#  >
   "<     v"Drive"<     
  v <>"y"v>     v <>"y"v>
 <v"Dig a P"   <v"Dig a P"
"^>:#,_@.>"no "^>:#,_@.>"no
< v"f I Fell"v< v"f I Fell"
 v>"I">:#,_@v> v>"I">:#,_@
  "raC yM "v#  >"raC yM "
   v"Drive"<     v"Drive
         v <>"y"v>     
        <v"Dig a P"   
       "^>:#,_@.>"no 

यहाँ एक ही बात है, लेकिन षट्भुज और त्रिकोण दिखाने के लिए लाइनों के साथ जोड़ा गया है।

       -----------------
      /v\< v"f I Fell"/v\
     /v> \v>"I">:#,_@/v> \
    /v#  >\"raC yM "/v#  >\
   /"<     \v"Drive/"<     \
  /v <>"y"v>\     /v <>"y"v>\
 /<v"Dig a P"\   /<v"Dig a P"\
/"^>:#,_@.>"no\ /"^>:#,_@.>"no\
-------------------------------
\< v"f I Fell"/v\< v"f I Fell"/
 \v>"I">:#,_@/v> \v>"I">:#,_@/
  \"raC yM "/v#  >\"raC yM "/
   \v"Drive/"<     \v"Drive/
    \     /v <>"y"v>\     /
     \   /<v"Dig a P"\   /
      \ /"^>:#,_@.>"no\ /
       -----------------

व्याख्या

यह वह जगह है जहां पॉइंटिंग-डाउन त्रिकोण की तीसरी और चौथी लाइनें खेल में आती हैं। दोनों त्रिभुजों के किनारे पर कई पुनर्निर्देश हैं जो निर्देश सूचक को उन दो पंक्तियों के माध्यम से स्थानांतरित करने के लिए काम करते हैं और स्टैक पर "ड्राइव माय कार" को धक्का देते हैं। फिर इसे >:#,_@पॉइंटिंग-अप त्रिकोण में बिट का उपयोग करके प्रिंट किया जाता है । संयोग से, बाएं और दाएं दोनों ओर-ऊपर त्रिकोण का उपयोग किया जाता है।

वहाँ हो सकता है खाली जगह का अधिक उपयोग करने के लिए एक तरीका हो, लेकिन मुझे लगता है कि मेरा समय बेहतर अन्य प्रश्न पर खर्च किया जाता है। : पी


हम्म। PPCG के नियम हैं कि यदि कोई प्रोग्राम कम से कम एक दुभाषिया में काम करता है, तो यह वैध है। अच्छी जगह है, हालांकि।
एल'एंडिया स्ट्रैटन

PPCG का एक और "नियम" है कि दुभाषिया भाषा को परिभाषित करता है, विनिर्देश नहीं। इस प्रकार, मेरा Befunge कोड अनिवार्य रूप से मान्य है।
एल'एंडिया स्ट्रैटन

18

पायथन 2, चौड़ाई = 51

                         #print "Yellow Submarine" if id else "(Reprise)"   ##
                        #.##...............................................##.#
                       #...##.............................................##...#
                      #.....##...........................................##.....#
                     #.......##.........................................##.......#
                    #.........##.......................................##.........#
                   #...........##.....................................##...........#
                  #.............##...................................##.............#
                 #...............##.................................##...............#
                #.................##...............................##.................#
               #...................##.............................##...................#
              #.....................##...........................##.....................#
             #.......................##.........................##.......................#
            #.........................##.......................##.........................#
           #...........................##.....................##...........................#
          #.............................##...................##.............................#
         #...............................##.................##...............................#
        #.................................##...............##.................................#
       #...................................##.............##...................................#
      #.....................................##...........##.....................................#
     #.......................................##.........##.......................................#
    #.........................................##.......##.........................................#
   #...........................................##.....##...........................................#
  #.............................................##...##.............................................#
 #...............................................##.##...............................................#
print "Sgt. Pepper's Lonely Hearts Club Band",;id=0#print "Sgt. Pepper's Lonely Hearts Club Band",;id=0
print "Yellow Submarine" if id else "(Reprise)"   ##print "Yellow Submarine" if id else "(Reprise)"   #
 #...............................................##.##...............................................#
  #.............................................##...##.............................................#
   #...........................................##.....##...........................................#
    #.........................................##.......##.........................................#
     #.......................................##.........##.......................................#
      #.....................................##...........##.....................................#
       #...................................##.............##...................................#
        #.................................##...............##.................................#
         #...............................##.................##...............................#
          #.............................##...................##.............................#
           #...........................##.....................##...........................#
            #.........................##.......................##.........................#
             #.......................##.........................##.......................#
              #.....................##...........................##.....................#
               #...................##.............................##...................#
                #.................##...............................##.................#
                 #...............##.................................##...............#
                  #.............##...................................##.............#
                   #...........##.....................................##...........#
                    #.........##.......................................##.........#
                     #.......##.........................................##.......#
                      #.....##...........................................##.....#
                       #...##.............................................##...#
                        #.##...............................................##.#
                         #print "Sgt. Pepper's Lonely Hearts Club Band",;id=0#

बेनाम: हाँ, ठीक है ... बेनाम: अजगर।

पाइथन टिप्पणी के साथ शुरू होता है #, इसलिए लाइनों के बहुमत सिर्फ टिप्पणियां हैं। ऊपर की ओर त्रिभुज का सामना करने के लिए, केवल एक चीज जो निष्पादित होती है

print "Sgt. Pepper's Lonely Hearts Club Band",;id=0

जो प्रिंट करता है Sgt. Pepper's Lonely Hearts Club Band

नीचे की ओर त्रिभुज का सामना करने के लिए, हम निष्पादित करते हैं

print "Yellow Submarine" if id else "(Reprise)"

कौन सा प्रिंट Yellow Submarine, फ़ंक्शन idसत्य है।

जब हम कार्यक्रमों को जोड़ते हैं, तो जो कुछ भी होता है वह अनुक्रम में उपरोक्त दो पंक्तियों का होता है। चूंकि पहली पंक्ति सेट के अंत में है id=0, जो अब मिथ्या है, अंतिम परिणाम यह है कि हम अंत से निपटते हैं, हमारे आउटपुट के रूप में (Reprise)प्राप्त कर रहे हैं Sgt. Pepper's Lonely Hearts Club Band (Reprise)(केल्विन ने कहा कि यह ठीक है )।


15
यह मुझे किसी भी बीटल्स गीत से अधिक इंपीरियल मार्च के बारे में सोचता है ...
केल्विन के शौक

6
मैं इस आकृति को देखकर टाई-फाइटर साउंड इफ़ेक्ट को सुन सकता हूँ
Fatalize

@ केल्विन के शौक हाहाहा। वास्तव में!
लुइस मेंडो सेप

17

स्नोमैन 1.0.2 , चौड़ाई = 13

      }?}///////////}
     ///"Get Back"////
    ///////////////////
   /////////////////////
  "Sun King//"[["Sun King
 "*"BirthdaysP/"*"Birthday
"]]8AaLsP[[///"]]8AaLsP[[//
?}///////////}?}///////////
 "Get Back"////"Get Back"/
  ///////////////////////
   /////////////////////
    //"[["Sun King//"[[
     sP/"*"BirthdaysP/
      /"]]8AaLsP[[///

आखिरकार! एक चुनौती जहां स्नोमैन कामयाब हो सकता है! : डी: डी

स्लैश ज्यादातर सौंदर्य प्रयोजनों के लिए होते हैं, और उनमें से अधिकांश को रिक्त स्थान के साथ प्रतिस्थापित किया जा सकता है (लेकिन यह पूरी तरह से बहुत उबाऊ लगेगा)। टिप्पणियों के लिए कुछ स्लैश आवश्यक हैं।

कार्यक्रम ए (आउटपुट:) Birthday:

      }
     ///
    /////
   ///////
  "Sun King
 "*"Birthday
"]]8AaLsP[[//

यह बहुत आसान है। पहला चरित्र ( }) हमारे सक्रिय चर को सेट करता है, फिर टिप्पणियों / नो-ऑप्स का एक गुच्छा होता है। यह तब स्ट्रिंग को संग्रहीत करता है "Sun King\n "और तुरंत इसे त्याग देता है (के माध्यम से *, इसे एक permavar में संग्रहीत करता है जो हम कभी उपयोग नहीं करते हैं)। फिर इसे स्टोर किया जाता है "Birthday\n"

]]यहाँ एक नो-ऑप है, चूंकि [[ foo ]]स्नोमैन में एक ब्लॉक टिप्पणी है, लेकिन चूंकि [[इससे पहले कोई मेल नहीं है ]](प्रोग्राम ए के भीतर), यह बस कुछ नहीं करता है। फिर 8AaLस्ट्रिंग के पहले 8 वर्णों को पकड़ता है, sPइसे प्रिंट करता है, और [[बाकी कार्यक्रम की टिप्पणी करता है (क्योंकि फिर से, कोई मेल नहीं है ]]

प्रोग्राम बी (आउटपुट:) Get Back:

?}///////////
 "Get Back"/
  /////////
   ///////
    //"[[
     sP/
      /

यह भी बहुत सीधा है। ?}के समतुल्य है }( ?बस सभी चरों को निष्क्रिय करने के लिए सेट किया जाता है, जो कि एक नो-ऑप है लेकिन फिर से, महत्वपूर्ण बाद में)। फिर यह स्ट्रिंग को स्टोर "Get Back"करता है, नो-ऑप्स का एक गुच्छा करता है ( //लाइन के अंत में हमेशा एक टिप्पणी होती है), और प्रिंट के माध्यम से sP

पूरा कार्यक्रम

आउटपुट है, आपने अनुमान लगाया, Sun King1

आइए इस लाइन को लाइन द्वारा देखें:

  • पंक्ति 1

          }?}///////////}
    

    यह हमारे सक्रिय चर सेट करता है, पिछले कार्यक्रमों की तरह (अब हम देख सकते हैं कि ?इसकी आवश्यकता है ताकि बस उन्हें टॉगल न करें और फिर वापस बंद करें }})। बाकी पंक्ति में टिप्पणी की गई है।

  • लाइनें 2-4

         ///"Get Back"////
        ///////////////////
       /////////////////////
    

    टिप्पणियाँ...

  • पंक्ति 5

      "Sun King//"[["Sun King
    

    यहां हम स्ट्रिंग को स्टोर करते हैं "Sun King//", और फिर एक ब्लॉक टिप्पणी शुरू करते हैं। यह अनिवार्य रूप से अगले तक सब कुछ छोड़ देता है ]]

  • पंक्ति 6

     "*"BirthdaysP/"*"Birthday
    

    अभी भी ब्लॉक कमेंट के अंदर ...

  • पंक्ति 7

    "]]8AaLsP[[///"]]8AaLsP[[//
    

    यहां हम कोड को निष्पादित करने के लिए थोड़े समय के लिए ब्लॉक टिप्पणी से बाहर निकलते हैं 8AaLsP। यह वास्तव में प्रोग्राम ए से पुन: उपयोग किया जाता है क्योंकि मैंने सभी गीतों को चुना है जो 8 अक्षर लंबे हैं, मैं बस संयुक्त कार्यक्रम के लिए एक ही कोड का उपयोग कर सकता हूं।

    तब यह थोड़ा मुश्किल हो जाता है। अगली बार जब हम ब्लॉक कमेंट से उभरेंगे, हम 8AaLsPफिर से देखेंगे । इस बार, हालांकि, सभी चर अपरिभाषित हैं (जिन्हें हम spउपभोग मोड में कहते हैं , प्रिंट करते हैं, जो चर से छुटकारा दिलाते हैं)। चूंकि aalदो तर्कों की आवश्यकता होती है, और इस समय इसमें केवल एक ( 8) है, यह त्रुटियों को छोड़ देता है और चर को अपरिवर्तित छोड़ देता है।

    इसी तरह, यह spसामना करता है 8, यह महसूस करता है कि यह गलत प्रकार मुद्रित किया जाना है, और चर को छोड़ देता है।

  • 8-13 लाइन

    ?}///////////}?}///////////
     "Get Back"////"Get Back"/
      ///////////////////////
       /////////////////////
        //"[["Sun King//"[[
         sP/"*"BirthdaysP/
    

    अभी भी उस ब्लॉक टिप्पणी में फंस गया है ...

  • लाइन 14

          /"]]8AaLsP[[///
    

    अंत में, हम एक ही प्रिंट-पहले-8-वर्ण क्रम को एक बार फिर से कॉल करने का प्रयास करते हैं, और यह एक बार फिर विफल हो जाता है, एक और दो त्रुटियां पैदा करता है। (इसका 8मतलब है कि चर अब हैं 8 8, जो अभी के लिए चर की सही संख्या है aal, लेकिन अभी भी सही प्रकार नहीं हैं)


1: SnowmanExceptionSTDERR के साथ-साथ चार रनटाइम एरर्स ( एस), लेकिन मेटा के अनुसार जो कोई फर्क नहीं पड़ता


The slashes are mostly for aesthetic purposes, and the majority of them can be replaced with spaces (but that would make it look a whole lot more boring)लेकिन यह समझ में नहीं आता कि यह क्या हो रहा है, इसे समझ
पाना

14

> <> , चौड़ाई = 11

     /"yadhtri"\ /
           v"B"/   
        ?!;>ol      
  duJ yeH" /"eduJ yeH
 o   >l?!;   o   >l?!;
staC"/"klaw staC"/"klaw
"yadhtri"\ /"yadhtri"\ 
     v"B"/       v"B"/
  ?!;>ol      ?!;>ol 
   " /"eduJ yeH" /"e
       o   >l?!;   
      staC"/"klaw 

इस चुनौती के साथ 2 डी भाषाओं का बहुत अच्छा समय है।

ऊपर की ओर तीर

     /


  duJ yeH
 o   >l?!;
staC"/"klaw

कार्यक्रम का प्रवाह ऊपर-बाएं से शुरू होता है, दाहिनी ओर बढ़ता है। /ऊपर दर्शाता है, और के बाद से> <> है toroidal हम नीचे से फिर से प्रकट होना। हम फिर एक /और हिट करते हैं और फिर से प्रतिबिंबित करते हैं, और klawstaCस्ट्रिंग ""मोड में एक-एक करके पात्रों को धक्का देते हैं । अंत में, हम ऊपर की ओर प्रतिबिंबित करते हैं और एक >l?!;oलूप मारते हैं , जो कि> <> में पूरे स्टैक को प्रिंट करने का मुहावरेदार तरीका है।

यह प्रिंट करता है Catswalk

नीचे की ओर तीर

"yadhtri"\ 
     v"B"/
  ?!;>ol 
   " /"e

मूल रूप से एक ही बात है, पात्रों को जाने से धक्का देना और दर्पण और तीर का उपयोग करके प्रत्यक्ष कार्यक्रम प्रवाह करना। यह प्रिंट करता है Birthday

संयुक्त

     /

  ?!;>ol      ?!;>ol 
     /"eduJ yeH" / 

संबंधित भाग ऊपर हैं (मैंने बीच में बहुत सारी लाइनें काट दी हैं)। /ऊपर की ओर के तीर का उपयोग करते हुए , हम ऊपर की ओर प्रतिबिंबित करते हैं और चारों ओर लपेटते हैं, लेकिन चूंकि अब हमारे पास नीचे की ओर तीर है, इसलिए उस कोड के हिस्से को इसके बजाय निष्पादित किया जाता है। हम फिर संबंधित वर्णों को स्टैक पर धकेलते हैं, और आउटपुट लूप को डाउनवर्ड एरो से पुन: उपयोग करते हैं।

यह प्रिंट करता है Hey Jude


5

अजगर 2, आकार 21

इस कार्यक्रम के लिए ANSI- संगत टर्मिनल ( विशिष्ट होने के लिए DOS ANSI.SYS ) की आवश्यकता होती है, क्योंकि मैं \x1b[2Jकंसोल को खाली करने और कर्सर को शीर्ष-बाईं ओर ले जाने के लिए उपयोग करता हूं । अन्य एएनएसआई टर्मिनलों के साथ इसे संगत करने के लिए, प्रिंट करें \x1b[1J\x1b[H(यह अभी भी 21 हेक्सागोन के आकार में फिट हो सकता है)। मैं इस भाग का परीक्षण करने में सक्षम नहीं था, क्योंकि मेरे पास एक टर्मिनल नहीं है जो ANSI एस्केप कोड प्रिंट करता है।

मुझे लगता है कि रेडियोएक्टिव प्रतीक (हालांकि ASCII छायांकन का अर्थ है कि रंग पीछे की ओर हैं) या मेट्रॉइड प्राइम: हंटर्स से स्नाइपर हथियार के आइकन के समान कार्यक्रम बहुत अच्छा लग रहा है।

यह आकार 17 में फिट था , लेकिन मैं id=0ऊपर तीर में भूल गया था। मुझे नहीं लगता कि मैं इसे वापस नीचे कर सकता हूं, क्योंकि यह सब एक लाइन पर होना चाहिए ...

इसके अलावा, विचार का उपयोग करने के लिए श्रेय Sp3000 को जाता है id

          #exec('print"'       ##
         ###'\x1b[2J"+(id '   ####
        #####'and"Hey Ju'    ######
       #######'de"or"Ca'    ########
      #########'tswalk'    ##########
     ###########'")')     ############
    ##############       ##############
   ################     ################
  ##################   ##################
 #################### ####################
id=0;print"Birthday"##id=0;print"Birthday"#
exec('print"'       ##exec('print"'       #
 '\x1b[2J"+(id '   ####'\x1b[2J"+(id '   #
  'and"Hey Ju'    ######'and"Hey Ju'    #
   'de"or"Ca'    ########'de"or"Ca'    #
    'tswalk'    ##########'tswalk'    #
     '")')     ############'")')     #
      #       ###############       #
       #     #################     #
        #   ###################   #
         # ##################### #
          #id=0;print"Birthday"##

ऊपर की ओर तीर:

          #
         ###
        #####
       #######
      #########
     ###########
    #############
   ###############
  #################
 ###################
id=0;print"Birthday",

नीचे का तीर:

exec('print"'       #
 '\x1b[2J"+(id '   #
  'and"Hey Ju'    #
   'de"or"Ca'    #
    'tswalk'    #
     '")')     #
      #       #
       #     #
        #   #
         # #
          #

"हे जुड" मेरे पसंदीदा बीटल्स गीतों में से एक है, लेकिन मैं वास्तव में बहुतों को नहीं जानता। मैंने कभी भी अन्य दो गाने नहीं सुने हैं जिनका मैं उपयोग कर रहा हूं। यह एक शैली नहीं है जिसे मैं अक्सर सुनता हूं।


1
1. केवल ANSI.SYS के साथ \x1b[2Jकाम करता है ; यह अन्य टर्मिनलों में कुछ भी नहीं करना चाहिए। इसके अलावा, अर्धविराम के बाद एक पूर्णांक की अपेक्षा करता है। पंक्ति और स्तंभ दोनों को 1 में डिफ़ॉल्ट बनाने के लिए, का उपयोग करें । 2. और सभी एएनएसआई टर्मिनलों पर काम करना चाहिए। 3. लिनक्स टर्मिनलों पर, आप बस टर्मिनल को रीसेट करने के लिए उपयोग कर सकते हैं । 4. मामले में शाब्दिक ईएससी बाइट के साथ प्रतिस्थापित किया जा सकता है, जो आपके स्कोर को बेहतर बनाने में मदद करता है। \x1b[;H\x1b[H\x1b[1J\x1b[H\x1b[H\x1b[J\x1bc\x1b
डेनिस

@ डेनिस को क्लीयर करने के लिए धन्यवाद। मैं अभी भी अपने स्कोर में सुधार नहीं कर पाऊंगा, क्योंकि मैं कई लाइनों पर एरो-एरो कोड को तोड़ने का तरीका नहीं खोज सकता।
mbomb007

2

सी (जीसीसी) , आधार चौड़ाई = 17

शीर्ष, "हे जूड"

        s
       ;//
      s;///
     main(//
    ){puts(//
   #define T//
  s?"Michell"//
 "e":"Hey Jud"//
"e");}///////////

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

नीचे, "माचिस"

s=1;/////////////
 #ifndef T//////
  main(){puts//
   ("Matchb"//
    "ox");}//
     # endif
      /////
       //\
        ;

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

षट्कोण, "मिशेल"

        ss=1;/////////////s
       ;//#ifndef T//////;//
      s;///main(){puts//s;///
     main(//("Matchb"//main(//
    ){puts(//"ox");}//){puts(//
   #define T//# endif#define T//
  s?"Michell"///////s?"Michell"//
 "e":"Hey Jud"////\"e":"Hey Jud"//
"e");}///////////;"e");}///////////
s=1;/////////////ss=1;/////////////
 #ifndef T//////;//#ifndef T//////
  main(){puts//s;///main(){puts//
   ("Matchb"//main(//("Matchb"//
    "ox");}//){puts(//"ox");}//
     # endif#define T//# endif
      /////s?"Michell"///////
       //\"e":"Hey Jud"////\
        ;"e");}///////////;

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


1

gawk, आधार लंबाई 15

बस पता चला कि यह mawk के साथ काम नहीं करता है : /

यह बहुत मुश्किल नहीं है, लेकिन 70 के दशक में बड़ा हो रहा है, द बीटल्स अभी भी हवा पर सर्वव्यापी है, मुझे इसका जवाब देना था। पहले मुझे लगा कि awk अनुकूल नहीं है, लेकिन फिर यह मेरे पास आया।

चूंकि इन स्क्रिप्ट में BEGIN- और / या END- ब्लॉक होते हैं, इसलिए उन्हें यह बताया जाना चाहिए कि END-block को निष्पादित करने के लिए कोई इनपुट नहीं होगा। इसे शुरू करने या उन्हें इस तरह शुरू करने के बाद Ctrl-D दबाकर इसे हासिल किया जा सकता है:

awk -f script.awk </dev/null

जो मुझे लगता है कि अधिक सुविधाजनक है। echo | awk -f script.awkयह भी काम करेगा, लेकिन अगर मैं एक खाली लाइन का उपयोग इनपुट के रूप में करता तो मैं इसे पूरी तरह से अलग कर देता।

इशारा करते हुए, नो वन (यूट्यूब लिंक) के लिए प्रिंट करता है

       #
      # #
     #   #
    BEGIN {
   print n?#
  #         #
 n"So Tired":#
n="For No One"}

टिप्पणियों के बिना आवश्यक कोड यह है। चूंकि nयह परिभाषित नहीं किया गया है "यदि कोई नहीं है" तो यह प्रिंट करता है।

    BEGIN {
   print n?

 n"So Tired":
n="For No One"}

नीचे की ओर इशारा करते हुए, ब्लैकबर्ड प्रिंट करता है

END{a="Blackb"#
 a=n?_:a"ird"#
  printf a  #
   n="I'm "#
    if(a) #
     print
      } #
       #

आवश्यक कोड यह है। अगर nइसे कुछ भी प्रिंट नहीं करने से पहले परिभाषित किया गया था। मैंने हर ट्रैक के नाम के बाद एक अच्छा उत्पादन लागू किया, क्योंकि मेरे पास ऐसा करने के लिए कमरा था और यह कंसोल में अच्छा लग रहा था। nप्रक्रिया में परिभाषित किया गया है; यह षट्कोण के लिए आवश्यक है।

END{a="Blackb"
 a=n?_:a"ird"
  printf a
   n="I'm "
    if(a)
     print
      }

षट्भुज, प्रिंट्स आई एम सो थक

       #END{a="Blackb"##
      # #a=n?_:a"ird"## #
     #   #printf a  ##   #
    BEGIN {n="I'm "#BEGIN {
   print n?#if(a) #print n?#
  #         #print#         #
 n"So Tired":#} #n"So Tired":#
n="For No One"}#n="For No One"}
END{a="Blackb"##END{a="Blackb"#
 a=n?_:a"ird"## #a=n?_:a"ird"#
  printf a  ##   #printf a  #
   n="I'm "#BEGIN {n="I'm "#
    if(a) #print n?#if(a) #
     print#         #print
      } #n"So Tired":#} #
       #n="For No One"}#

आवश्यक कोड। अब आखिरकार उस रहस्यमयी nका उपयोग किया जाता है। क्योंकि nपहली पंक्ति में परिभाषित किया गया है, ऊपर की ओर इशारा करते हुए त्रिकोण वैकल्पिक आउटपुट को प्रिंट करता है, और नीचे की ओर त्रिकोण के खालीपन को इंगित करता है।

    BEGIN {n="I'm "
   print n?

 n"So Tired":
n="For No One"}
END{a="Blackb"
 a=n?_:a"ird"
  printf a  
   n="I'm "
    if(a) 
     print
      } 
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.