चक्रीय तार, छिपे हुए कार्यक्रम


13

निम्नलिखित कार्य करने वाले 3 कार्यक्रम लिखें:

उन तीन कार्यक्रमों के A, B, C स्रोत कोड दें;

  • अगर ए बीसी उत्पादन के रूप में निर्मित होता है,
  • यदि बी चलता है तो सीए निर्मित होता है,
  • अगर C रन AB का उत्पादन होता है;

इसलिए प्रत्येक प्रोग्राम एक स्ट्रिंग (प्रत्येक प्रोग्राम के लिए साइकिल) लिखता है और उससे खुद को छुपाता है।

अतिरिक्त, लेकिन आवश्यक बाधाएं:

  • मानक कमियां निषिद्ध हैं;
  • प्रत्येक कार्यक्रम कम से कम 1 बाइट लंबा होना चाहिए;
  • प्रत्येक तीन कार्यक्रमों को एक अलग भाषा में लिखा जाना चाहिए;

यह अच्छा होगा यदि आपके सबमिशन में यह प्रारूप है:

भाषा A (A का आकार) - भाषा B (B का आकार) - भाषा C (C का आकार) - स्कोर

A B C
<extra stuff>

विजेता वह है जिसे न्यूनतम स्कोर प्राप्त होता है, जो तीन कार्यक्रमों के आकार का योग है।


यह स्कोर अंतिम होने के लिए अच्छा होगा (लीडरबोर्ड स्क्रिप्ट के साथ फिट होने के लिए)
लीक नून


7
मैं डेडलाइन की सिफारिश नहीं करूंगा।
आउटगॉल्फ जूल

किसी भी आवश्यकता के बारे में A, Bऔर Cअलग तार होने के नाते? उदाहरण के लिए, क्या तीन तार समान हो सकते हैं? यदि प्रोग्राम आउटपुट के बाद एक नई रेखा प्रिंट करता है, तो क्या हम उसकी गणना नहीं कर सकते?
लुइस मेंडो

यह आवश्यक नहीं है A, B, Cअलग किया जा रहा है। Newlines को आउटपुट के भाग के रूप में गिना जाता है इसलिए स्ट्रिंग में newlines कार्यक्रम का हिस्सा हैं।
Blex

जवाबों:


3

Befunge-98 , Gol> <> और Wumpus 47 * 3 = 141 बाइट्स

"r75*1-47*0.@o&r84#o&]=74#]=\`/KHj '!_@#,k.'g00

Befunge में यह कोशिश करो! इसे> <> में आज़माएँ! Wumpus में यह कोशिश करो!

यह सही है, यह एक ही कार्यक्रम तीन बार खत्म हो गया है! जब उपरोक्त किसी भी भाषा में चलाया जाता है, तो यह स्रोत कोड को दो बार प्रिंट करता है, जो कि अन्य दो कार्यक्रमों को मिलाया जाता है।

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

Befunge code:
  "r                               j '!_@#,k.'g00

  "   Wrapping string literal over code
   r  Reflect the pointer
  "   Wrapping string literal
                                              g00   Fetch " from cell 0,0 
                                          ,k.'      Print 47 characters
                                       _@#          If the next character is 0, exit
                                      !             Otherwise, set it to 0
                                   j '              And jump back to the beginning


Gol><> code:
  "r75*1-47*0.                \`/KH

  "             Wrapping string literal
   r            Reverse stack
    75*1-       Push "
         47*0.  Jump to cell 28,0
                              \  Continue right
                               `/K   Duplicate the top 47 characters on the stack
                                  H  Halt and output stack contents

Wumpus code:
  "r75*1-47*0.@o&r84#o&]=74#]=\

  "r75*1-47*0.  Exact same function as the ><> code, but with a bouncing string literal
                              \  Reflect left
                            ]=   Push a copy of the " to the bottom of the stack
                         74#     Push 47
                       ]=        Push a copy of the 47 to the bottom of the stack
                     o&          Print the top 47 characters
                  84#            Push a '0' to make up for the missing 0 at the end
               o&r               Reverse the stack and print the top 47 characters
              @                  And terminate

0

JScript, VBScript, विंडोज बैच, 345 बाइट्स

a=new ActiveXObject("scripting.filesystemobject");b=a.opentextfile(".js");c=b.readline();d=b.readline();a.createtextfile(".bat").write("@echo "+d.substr(2)+">.vbs\n@echo '"+c+">>.vbs")
//set a=createobject("scripting.filesystemobject"):set b=a.opentextfile(".vbs"):c=b.readline:d=b.readline:a.createtextfile(".js").write(mid(d,2)+chr(10)+"//"+c)

फ़ाइल का नाम .js, फिर .vbs और फिर .bat बनाया जाएगा।

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