अपने कोड का एक सांकेतिक ऋणात्मक प्रिंट करें


18

(यह आपके कोड के एक नकारात्मक प्रिंट पर एक भिन्नता है , जिसे मैंने बहुत पसंद किया! मार्टिन बंटनर के लिए धन्यवाद! - इस पाठ के लगभग सभी उनके हैं।)

आइए प्रतीकों को निम्नलिखित मुद्रण योग्य ASCII वर्ण मानते हैं (ध्यान दें कि स्थान शामिल है):

 !"#$%&'()*+,-./:;<=>?@[\]^_`{|}~

और अल्फ़ान्यूमेरिक ये होने के लिए:

0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz

निम्नलिखित की तरह, साइड लंबाई N के लिए मुद्रण योग्य ASCII वर्णों के एक वर्ग पर विचार करें:

ONE, 
{two}
&3,+=
!four
f|ve.

हमें प्रत्येक पंक्ति और प्रत्येक कॉलम में कम से कम एक प्रतीक और एक अल्फ़ान्यूमेरिक होना आवश्यक है। (उपरोक्त उदाहरण इसको संतुष्ट करता है।)

हम इस तरह के एक वर्ग के प्रतीकात्मक नकारात्मक को उसी आकार के एक वर्ग के रूप में परिभाषित करते हैं जहां प्रत्येक प्रतीक को एक अल्फ़ान्यूमेरिक और इसके विपरीत से बदल दिया जाता है। उदाहरण के लिए, निम्नलिखित उपरोक्त उदाहरण का एक वैध प्रतीकात्मक नकारात्मक होगा:

[&]OK
a...b
1/100
i@#$%
(R) z

विशिष्ट पात्रों का चुनाव तब तक अप्रासंगिक है जब तक वे ऊपर की श्रेणियों में हैं।

चुनौती

आपका काम एक प्रोग्राम को साइड सोर्स N> 1 के साथ स्क्वायर सोर्स कोड के साथ लिखना है, जो अपने सोर्स कोड के एक स्टाकिक नेगेटिव को प्रिंट करता है। ट्रेलिंग स्पेस को प्रिंट करना होगा। आप एक एकल अनुगामी न्यूलाइन प्रिंट कर सकते हैं या नहीं।

सामान्य नियम नियम भी लागू होते हैं, इसलिए आपको अपने स्वयं के स्रोत कोड को प्रत्यक्ष या अप्रत्यक्ष रूप से नहीं पढ़ना चाहिए। इसी तरह, आपको एक REPL वातावरण नहीं मानना ​​चाहिए जो स्वचालित रूप से प्रत्येक प्रविष्ट अभिव्यक्ति के मूल्य को प्रिंट करता है।

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


क्या यह वास्तव में एक "क्वीन" प्रकार की चुनौती है क्योंकि आउटपुट को किसी भी प्रकार के स्रोत कोड की आवश्यकता नहीं है?
लियाम

अच्छी बात है, मुझे नहीं लगता कि यह वास्तव में है।
ल्यूक

@LiamNoronha मैं इसे सामान्यीकृत क्वीन मानूंगा कि आउटपुट स्रोत कोड का एक फ़ंक्शन है, और मानक क्वीन नियम लागू होते हैं।
मार्टिन एंडर

1
"अपने स्वयं के स्रोत कोड को पढ़ना" परिभाषित करें; अगर कोई कमांड है, जो वर्णों को आउटपुट में कॉपी करता है, तो क्या यह "पढ़ने" के लिए एक उदाहरण होगा?
कॉनर ओ'ब्रायन

जवाबों:


11

GolfScript, 3 × 3 (4 प्रतीक)

4,m
`3/
n*o

इसे ऑनलाइन वेब गोल्फस्क्रिप्ट पर आज़माएं

उत्पादन

[0 
1 2
 3]

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

4,  # Push the array [0 1 2 3].
  m # Undefined token. Does nothing.
`   # Push the string representation of the array. Pushes "[0 1 2 3]".
 3/ # Split into chunks of length 3. Pushes ["[0 " " 1 " "2 3]"].
n*  # Join the chunks, separated by linefeeds. Pushes the output.
  o # Undefined token. Does nothing.

11

CJam, 3 × 3 (5 प्रतीक)

[5,
S*3
/N*

CJam दुभाषिया में इसे ऑनलाइन आज़माएं ।

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

[   e# Unmatched [. Does nothing.
 5, e# Push [0 1 2 3 4].
S*  e# Join the integers, separating by spaces. Pushes "0 1 2 3 4".
  3 e#
/   e# Split into chunks of length 3. Pushes ["0 1" " 2 " "3 4"].
 N* e# Join the chunks, separated by linefeeds. Pushes the output.

उत्पादन

0 1
 2 
3 4

10

पायथ, 3x3, 4 प्रतीक

S]1
.5;
S]1

आउटपुट:

[1]
0.5
[1]

स्पष्टीकरण:

  • एस एक तत्व सूची को सॉर्ट करता है ]1
  • संख्यात्मक शाब्दिक .5रूप में मुद्रित हो जाता है 0.5, ;कथन को समाप्त करता है (इस मामले में कुछ भी नहीं करता है)

हालांकि मैं लंबे और कठिन है कि मैं <alphanum><symbol><alphanum>पायथ या सीजाम में कैसे पहुंच सकता हूं। यह मेरे लिए फ़्लोट्स का उपयोग करने के लिए कभी नहीं हुआ ... अच्छा काम!
डेनिस

5

सी ++, 18 x 18

"हमेशा नौकरी के लिए सबसे खराब उपकरण चुनें।"

#include<cstdio>  
int main(){ for  (
int line =  0lu;  
1lu*line <  18l;  
1lu*line++){pri\  
ntf(line == 0lu * 
123*line? "\x41.\\
x2e\x02e...\x2e\\ 
x42\x02e...\x2e.\ 
CDE\x00a":  14l!= 
1lu*line?".\x2e.\\
x46\x02e...\x47""\
HIJ\x02e..""KLM"  
 /*O*/"\n":  /*The
bad code:*/"NOP.\ 
QRS\x054." "UVW\  
XYZ\x02e" "\x2e\\ 
x2e\x00a"); 0lu;}}

आउटपुट:

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