हर उस प्रोग्राम को प्रिंट करें जिसमें आपका प्रोग्राम नहीं है


219

आपका काम एक कार्यक्रम (केवल प्रिंट योग्य ASCII वर्ण और / या टैब और नई-पंक्तियों का प्रयोग करके) कि वास्तव में प्रिंट योग्य ASCII अंतरिक्ष में वर्ण (बाहर प्रिंट का निर्माण करना है 0x20करने के लिए 0x7e) है कि नहीं है , (अपने कार्यक्रम के स्रोत कोड में दिखाई देते हैं किसी भी क्रम में हालांकि कई बार आप चाहते हैं)।

किसी भी भाषा में ऐसा करने वाला सबसे छोटा कोड जीत जाता है।


19
वे हैं, लेकिन वे सीमा में नहीं कर रहे हैं 0x20करने के लिए 0x7eहै, जो "प्रिंट योग्य ASCII वर्ण" के रूप में परिभाषित कर रहे हैं। तकनीकी रूप से टैब और न्यूलाइन्स वास्तव में नियंत्रण वर्ण हैं।
जो जेड

3
क्या हमें नए सिरे से प्रिंट करने की अनुमति दी गई है (या कोई अन्य अप्रमाणित ASCII वर्ण)?
flornquake

1
टैब्स और न्यूलाइन्स इस तरह से प्रस्तुत नहीं करते हैं कि वे मुद्रण की स्थिति पर कब्जा कर लेते हैं। वे स्थिति को आगे बढ़ाते हैं। एएनएसआई सी "आइप्रिंट" फ़ंक्शन देखें।
कज़

1
यह प्रश्न कैसे पुनर्जीवित हुआ? यह फिर से शुरू हो रहा है।
जो जे।

3
@ टिमी: यदि आप ऐसा करना चाहते हैं, तो आपको सीजेके वर्ण स्थान में भी सभी पात्रों को आउटपुट करना होगा (आपके कोड में दिखाई देने वाले को छोड़कर)। यह प्रबंधन करना बहुत जटिल है, इसलिए मैंने इसे सिर्फ ASCII तक सीमित रखा।
जो जेड

जवाबों:



274

बहुवचन, 95

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

कुछ नहीं करता।


19
नहीं, लेकिन यह एक बहुविकल्पी है। मैं उसे नष्ट नहीं करना चाहता।
जोहान्स कुह्न

95
मैंने इसे जीएनयू फोरट्रान कंपाइलर में खिलाया और इसे सेगफॉल्ट किया।
मारिनस

12
सी में, #undef X;whatever junk you wantकाम करता है।
बदसूरत

6
अजगर में भी काम करता है (क्योंकि यह का उपयोग करता है #रूबी और पर्ल की तरह टिप्पणी के लिए)
दरवाज़े

87
" किसी भी भाषा में ऐसा करने वाला सबसे छोटा कोड जीतता है।" किसी भी भाषा में काम करने वाले कोड की कमी के लिए , इस प्रविष्टि को जीतना चाहिए, क्योंकि यह वह कोड है जो सबसे बड़ी संख्या में भाषाओं में काम करता है। ; -डॉ
एम.एस.बी.

142

PHP 5.2, 4

<?<<

एक फ़ाइल के रूप NYUIOMK()'DEAQRWVX[Z]\^@CBGFJqwv{z}|~`bgfkj203547698;=>!#"%$&+*-.phpमें कहीं में सेव करें /home। अपने में short_open_tagहोना चाहिए ।Onphp.ini

आउटपुट है:

PHP Parse error:  syntax error, unexpected T_SL in /home/wherever/NYUIOMK()'DEAQRWVX[Z]\^@CBGFJqwv{z}|~`bgfkj203547698;=>!#"%$&+*-.php on line 1

42
हा, नियमों का अच्छा झुकना।
जोहान्स कुह्न

6
अच्छा है, लेकिन दुर्भाग्य से मैं :आउटपुट में स्थान पा सकता हूं ।
हावर्ड


78
मैं इसकी सराहना करता हूं, @TheGuywithTheHat, लेकिन मैंने कल के विपरीत, एक साल पहले इसका उत्तर दिया था।
Ry-

9
@ TheGuywithTheHat यह उन उत्तरों में से एक था जब खामियों का मजाकिया, नया और आपके लिंक किए गए मेटा पोस्ट के लिए नेतृत्व किया गया था। अब यह नहीं है।
जोहान्स कुह्न

48

जावास्क्रिप्ट - 88

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

प्रिंट "bcdfghijkmnpquvxyz"


13
वाह मुझे पसंद है toLowerCase विचार, यह शानदार है!
पियरे अरलाउड

2
आप तीन वर्णों को गणित के साथ सहेज सकते हैं: "!#$%&*+,-13:<=>?@[\]^_`{|}~AERTOWS";alert('BCDFGHIJKMNPQUVXYZ'.toLowerCase()+95*72)क्योंकि 95*72= 6840और व्यर्थ वर्णों को एक स्ट्रिंग में ले जाने से आप उन्हें बर्बाद करने के बजाय उद्धरणों का उपयोग कर सकते हैं। इसके अलावा, एक टिप्पणी में पात्रों को छुपाने के लिए घृणा महसूस होती है।
छाता

28

व्हॉट्सएप, 61 57 वर्ण

यह सबसे छोटा नहीं है, लेकिन संभवतः इसका सबसे सरल तर्क है (यह वास्तव में एक लूप है)।

यहां यह पूरी तरह से टिप्पणी की गई है, जहां एस स्पेस है, टी टैब है, एल लाइन फीड है:

SSSTSSSSSL     # push 0x20
LSSSL          # label S
SSSTL          # push 1
TSSS           # add
SLS            # duplicate top of stack
SLS            # duplicate again
TLSS           # output ASCII character
SSSTTTTTTSL    # push 0x7E
TSST           # subtract (result - 0x7E)
LTTSL          # branch to label S if top of stack is negative
LLL            # end

ऊपर सुधार के लिए @res के लिए धन्यवाद (शाखा निर्देश के लिए अतिरिक्त डुप्लिकेट की आवश्यकता है) और स्टैक पर पुश करने के लिए छोटी संख्या के लिए।


1
यह रूप में काम नहीं करता है, लेकिन सशर्त शाखा (LTTSL) से ठीक पहले एक डुप्लिकेट-टॉप-ऑफ-स्टैक (SLS) सम्मिलित करके तय किया जा सकता है - यह आवश्यक है क्योंकि सशर्त शाखा कमांड शीर्ष के ढेर को हटा देता है । परिणामी 64-वर्ण प्रोग्राम विज्ञापित के रूप में काम करता है। (यदि प्रोग्राम को .ws एक्सटेंशन के साथ एक फ़ाइल में संग्रहीत किया जाता है, तो इसे गोल्फ में ऑनलाइन परीक्षण किया जा सकता है। http://in.hinh.org/checker.html )
Res

1
इसके अलावा, प्रोग्राम की लंबाई को लगभग समान प्रोग्राम का उपयोग करके 57 तक घटाया जा सकता है, लेकिन तीन धकेल दिए गए अंकों के साथ -94, 127, 126 क्रमशः 32, 1, 126 में बदल गए SSSTSSSSSL LSSSL SSSTL TSSS SLS SLS TLSS SSSTTTTTTSL TSST LTTSL LLL:।
Res

मुझे पता है कि यह 5 साल से अधिक हो गया है, लेकिन आप लेबल एस को लेबल (खाली) ( LSSSLहो जाता है LSSLऔर LTTSLबन जाता है LTTL) में बदलकर 5 बाइट्स को गोल्फ कर सकते हैं और अंत (तीन LLL) पर बाहर निकल सकते हैं । ऑनलाइन इसे 52 बाइट्स या यहाँ हाइलाइटिंग और स्पष्टीकरण के साथ आज़माएँ
केविन क्रूज़सेन

22

सी, 83 74 69 वर्ण

main(z) {for(;++z<96;"\33iE!vk?}GkRP8z"[z/7]&1<<z%7&&putchar(z+32));}

मैंने वास्तव में इसे 80 अक्षरों से नीचे लाने की कोशिश की, लेकिन मैं अभी इसे हटा नहीं पाया हूं। मैंने अंततः यह तय करने का निर्णय लिया कि मेरे पास क्या है, इस धारणा पर कि मैं (या कोई और) इस पोस्ट करने के दस मिनट बाद 79-चरित्र समाधान का पता लगाएगा। ठीक है, यह काफी दस मिनट नहीं था, लेकिन यह सिद्धांत रूप में काम करता था।

मैं वास्तव में एक ऐसे संस्करण को पोस्ट करना चाहता था जिसमें स्रोत कोड में एक गंभीर स्थान न हो, लेकिन वह एक अजीब-आकर्षित करने वाली कक्षा में उतरा, जो मुट्ठी भर समाधानों के बीच उछल रहा था। कई मिनटों के बाद उनमें से एक को एक स्थिर समाधान में बदलने की कोशिश की, मैंने जगह छोड़ दी।


21

Golfscript, 26 24 वर्ण

"126,32>''+".~\-'.~\-"'-

एक रेंज जेनरेशन स्क्रिप्ट लेता है, इसे डुप्लिकेट करता है, इसे निष्पादित करता है, इसे इसके परिणाम से हटाता है, फिर परिणाम घटाव कोड और दूसरे उद्धरण चरित्र को प्रतिस्थापित करता है।


2
धिक्कार है, चतुर।
मारिनस

1
हटाएं ''+, घटाव से पहले प्रोग्राम से बाहर निकलें, एक noop में डालें .;(डॉट को कवर करने का एक बेहतर तरीका नहीं मिला), स्ट्रिंग के बजाय कोड ब्लॉक का उपयोग करें -> {126,33>`-.;}.~जो 16 वर्ण है
हावर्ड

और किसी भी क्रम में उपयोग करना , हालांकि कई बार आप चाहते हैं कि आप अर्धविराम को भी हटा सकते हैं।
हावर्ड

@ मुझे डर है कि मैं आपके विचार को नहीं समझता। आप इसे एक अलग उत्तर के रूप में पोस्ट कर सकते हैं।
जॉन ड्वोरक

@PeterTaylor मुझे लगा कि मैंने एक स्पेस प्रिंट किया है?
जॉन ड्वोरक

20

मछली - 80

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

जब मछली की त्रुटियां सामने आती हैं, तो "कुछ गड़बड़ हो जाती है ..."। चूंकि z एक बुरा निर्देश है, इसलिए यह तुरंत गलत हो जाता है


17

मुझे पता है कि यह कोई प्रतियोगिता नहीं जीत रहा है। मैं सिर्फ एक भाषा में इसे आज़माना चाहता था जो आमतौर पर इस्तेमाल नहीं होती है, बस किक के लिए।

जावा - 209 195 152 140 वर्ण

class a{public static void main(String[]a){for(char c=0;;c++)System.out.print("publicas{tvodmn(Srg[])h=0;w+ye.\"\\xO<?:}".indexOf(c)<0?c:"");}}

लाइन ब्रेक और टैब के साथ

class a{
    public static void main(String[]a) {
        for(char c=0;;c++)
            System.out.print("publicas{tvodmn(Srg[])h=0;w+ye.\"\\xO<?:} ".indexOf(c)<0?c:"");
    }
}

यदि आप निष्पादित करते हैं तो सावधान रहें: कार्यक्रम समाप्त नहीं होता है। haha

व्याख्या

  1. for(char c=0;;c++): चूँकि मुझे charएक के रूप में माना जा सकता है int, मैं इसका उपयोग अपने लाभ के लिए सभी संभावित मूल्यों के माध्यम से करने के लिए करता हूँ c। मैं लूप में टर्मिनेटिंग कंडीशन को छोड़ देता हूं (वह जो दो अर्धविरामों के बीच जाता है) पात्रों पर सहेजने के लिए, क्योंकि यह निर्दिष्ट नहीं था कि प्रोग्राम को समाप्त करना था। :)
  2. "publicas{tvodmn(Srg[])h=0;w+ye.\"\\xO<?:} ".indexOf(c)<0?c:"": अफसोस की बात है, बहुत ही सुंदर दृष्टिकोण नहीं है, लेकिन यह काम पूरा करता है। स्रोत कोड में मौजूद प्रत्येक चरित्र को Stringशाब्दिक रूप से सूचीबद्ध करें, फिर जांचें कि क्या char cइसके साथ वर्तमान होता है indexOf()। यदि indexOf()कॉल वापस आती है -1, तो यह मौजूद नहीं है, और इसलिए हमें इसे प्रिंट करना चाहिए। इसका बाकी हिस्सा पात्रों और स्थान को बचाने के लिए टर्नरी ऑपरेटर का उपयोग करता है।

क्या आप थोड़ा समझा सकते हैं?
जॉय रोहन

1
@joeyrohan ज़रूर, बस इसके नीचे एक स्पष्टीकरण जोड़ा गया। :)
एस्टरी

अच्छा;) अच्छा सामान :)
जॉय रोहन

2
आप ENTIRE ascii मुद्रण योग्य तालिका को एक टिप्पणी में रख सकते हैं और एक जावा प्रोग्राम बना सकते हैं जो कुछ भी नहीं देता है। यह तुम्हारा हरा देंगे :-)
पियरे अरलाउड

9
आप मुझे बता सकते हैं कि यह मेरे टर्मिनल में निष्पादित होने से पहले हर एक यूनिकोड चरित्र को प्रिंट करने वाला है।
nyuszika7h

14

पर्ल, 49 वर्ण

say grep/[^+-246\[-^aceghmprsy]/,map chr,041..126

यह एक दिलचस्प चुनौती है - यह विरोधी-क्वीन की तरह है, और मैंने इसमें दिखाई देने वाले वर्णों की सीमा बढ़ाकर कार्यक्रम को कुछ समय के लिए छोटा कर दिया है।


14

रूबी, 81 78 68 66 62 57

(?!..?~).map{|a|$><<a if/[()ifmap{}|?!.~\/\\\[\]$><]/!~a}

बस खुद की जाँच करता है। मैन्युअल रूप से हटाए गए डुप्लिकेट वर्ण।

4 पात्रों को बचाने के लिए जोश और 5 पात्रों को बचाने के लिए मिनिटेक का धन्यवाद!


यदि आप $> << x के बाद अंत लाइनों में से एक को बचाने के लिए नहीं डाल सकते हैं?
जोश

@ जोश हाँ। मैं अब वही करूंगा।
दरवाज़े

आप इसे 58:(?!..?~).map{|x|$><<x if/[()ifmap{}|x?!.~\/\\\[\]$><]/!~x}
Ry-

1
आह, और चर नाम के बेहतर विकल्प के साथ, 57:(?!..?~).map{|a|$><<a if/[()ifmap{}|?!.~\/\\\[\]$><]/!~a}
Ry-

$><<((32..126).map(&:chr)-IO.read(__FILE__).chars).joinएक अलग दृष्टिकोण का उपयोग कर 55 बाइट्स।
twe4ked

14

Befunge (48)

<|::-1,+*88:<+3*87
6<@.**85
9>"()~&"/%$ |!#';=?}

आउटपुट: {zyxwvutsrqponmlkjihgfedcba` _ ^] [ZYXWVUTSRQPONMLKJIHGFEDCBA240


पवित्र गाय! अच्छा काम!
क्रंचर

12

बहुत गंभीर नहीं है, लेकिन मुझे इसे देना पड़ा:

JSFuck (138152)

(यहां संकलित स्रोत)

मूल स्रोत:

for(x=0x7e;x>0x19;x--){
    console.log(String.fromCharCode(x).replace(/[\[\]!\+\(\)]/ig, ''))
}

() + [] को छोड़कर सभी वर्ण प्रिंट करता है !


2
(x)<=> [x][+[]], कोड का आकार बढ़ाता है लेकिन वर्णमाला को छोटा करने की जरूरत है।
फायरफली

12

आपका कार्य एक प्रोग्राम बनाना है (केवल मुद्रण योग्य ASCII वर्णों और / या टैब और नईलाइन्स का उपयोग करके)

गोश, आपने एपीएल के लिए इसे कठिन बना दिया है (क्या यह विलंबित है?)
इसलिए मैं सभी नियमों को अनदेखा करने का फैसला करता हूं !!!

एपीएल (डायलॉग), 3 10

⎕AV

परमाणु वेक्टर को प्रिंट करता है (जिसमें सभी प्रमुख ASCII वर्ण शामिल हैं)


बाहर मुड़ता है मैं पूरी तरह से "बिना" भाग के बारे में भूल गया ...
लेकिन यह एक आसान तय है

⎕AV~'AV'''

~'AV'''को बाहर (जिसका अर्थ ~) वर्ण ए, वी और एकल उद्धरण (दोगुनी एकल उद्धरण के रूप में बच गए)

गैर-एएससीआईआई के मुद्रण के बारे में, ठीक है, मैं सभी नियमों की उपेक्षा कर रहा हूं।


"प्रिंट करने योग्य एएससीआईआई स्पेस में (अक्षर 0x20से 0x7e) वर्णों को प्रिंट करें जो आपके प्रोग्राम के सोर्स कोड में दिखाई नहीं देते हैं" मेरा मानना ​​है कि आउटपुट में प्रिंट करने योग्य एएससीआईआई स्पेस के बाहर वर्ण नहीं हो सकते हैं ("वास्तव में कीवर्ड") , और आपके कार्यक्रम में 'ए' और 'वी' शामिल हैं, इसलिए उन्हें मुद्रित नहीं किया जाना चाहिए।
FireFly

1
आप कम से कम ~बहिष्कृत वर्णों के समूह में जोड़ना चाहते हैं । ;-) Btw, एक समान जम्मू समाधान होगाa.-.'a.-'''
FireFly

2
आप सभी नियमों को अनदेखा कर सकते हैं, लेकिन यह आपको स्वीकृत उत्तर होने से अयोग्य घोषित करता है।
जो जेड।

11

GolfScript ( 18 16 वर्ण)

"),@`^^32>#.~".~

एक अतिरिक्त लाइन के साथ ऑनलाइन डेमो जो एक शुद्धता की जांच करता है और त्रुटि में वर्णों की संख्या को आउटपुट करता है।

(मेरे पास विभिन्न समतुल्य विकल्प हैं। के @`^साथ प्रतिस्थापित किया जा सकता है \\`, के साथ प्रतिस्थापित किया #जा सकता है `या ]सही संयोजन का उपयोग हावर्ड की चाल के साथ किया जा सकता है, क्योंकि उसका स्कोर 15 के बराबर है क्योंकि बैकस्लैश को ब्लॉक करने से बचने की ज़रूरत नहीं है जिस तरह से वे स्ट्रिंग शाब्दिक रूप से करते हैं: {),\`^32>].~}.~लेकिन हावर्ड उस चाल के लिए क्रेडिट के हकदार हैं)।


1
:-) अच्छा शासन दुरुपयोग golfscript.apphb.com/?c=ImAnficoLCszMj5cXC0uIi5%2B
जॉन ड्वोरक

2
सौभाग्य से असिसी का अंत होता है }~- कोड ब्लॉक के लिए और भी बेहतर, मेरा नया उत्तर देखें ;-)
हॉवर्ड

11

ब्रेनफक, 173

+++++[->++++++<]>>>++[------<+>]<++++>>----[----<+>]>-[-------<+>]>-[---<+>]<------->>-[---<+>]<+++++++++>>--[-----<+>]<+++++>>+[---------<++>]+++++++++++++[<[.+<]>[>]<-]\=,

बहुत लंबा, मैं बाद में फिर से कोशिश कर सकता हूं।


6
एक प्रोग्राम लिखें जो कुछ भी नहीं करता है और बाकी ओड एससीआई को स्रोत में जोड़ता है, सबसे खराब स्थिति 96 वर्णों की तरह महसूस होती है।
जैसें

10

जे ( 52 40)

संपादित करें: Duh, के बारे में भूल गया e.

'''(-@.e#[)~95{32}a'(-.@e.#[)~95{.32}.a.

पुराना संस्करण:

(>@(*/@('(>@*/''&~:).#]32{95}a'&~:)&.>)#])95{.32}.a.

अन्य प्रकार (समान लंबाई लेकिन कम आउटपुट):

([#~*/"1@('([#~*/"1@''&:0)95{.32}a'&~:"0))95{.32}.a.

@JDDvorak: whoops टाइपो
marinus

इसे रफू करें! पी: मैं मैं काफी कम हो सकता है रूबी में आप को हरा करने की उम्मीद कर रहा था और उसके बाद आप इसे 40. करने के लिए सभी तरह से छोड़
दरवाज़े

नया एक बहुत अधिक विचित्र लगता है।
जॉन ड्वोरक

1
@Doorknob: मेरे पास एपीएल में एक है जो केवल 24 वर्णों का है, लेकिन इसमें गैर-एएससीआईआई अक्षर हैं।
मारिनस

हाँ, मैंने APL जैसी भाषाओं से बचने के लिए ASCII काम किया।
जो जेड

7

अजगर 3 - 68 61

x=r"print(*set(map(chr,range(32,127)))-set(x+'=\"'))"
exec(x)

... सुधार के लिए @WolframH को धन्यवाद।


1
मुझे लगता है कि आप exec(x)एक नई पंक्ति में रख सकते हैं और इसमें बचत कर सकते ;हैं x। इसके अलावा, पायथन 3 में, आप x=r"print(*set(map(chr,range(32,127)))-set(x+'=\"'))"\nexec(x)61 वर्णों के लिए उपयोग कर सकते हैं (कई रिक्त स्थान प्रिंट करता है, जिसकी अनुमति है)।
वुल्फराम एचएच 24'13

@WolframH सरल, धन्यवाद!

7

पॉवरशेल: 96

एक स्क्रिप्ट के रूप में सहेजा और चलाना चाहिए।

diff([char[]](gc $MyInvocation.InvocationName))([char[]](32..126))-Pa|?{$_.SideIndicator-eq'=>'}

diffके लिए एक निर्मित उपनाम है Compare-Object

gcके लिए एक निर्मित उपनाम है Get-Content

$MyInvocation.InvocationName स्क्रिप्ट को निष्पादित करने के लिए पूर्ण पथ प्राप्त करता है।

32..126दशमलव दशमलव के बराबर है 0x20..0x7e, और इसलिए दशमलव ASCII कोड की एक सरणी बनाता है जिसे हम खोज रहे हैं।

[char[]]अगली वस्तु की सामग्री लेता है और उन्हें एक सरणी में रखता है, उन्हें तोड़कर ASCII वर्णों में परिवर्तित करता है। इसलिए, अब हमारे पास ASCII वर्णों की दो सरणियाँ हैं - एक इस लिपि से खींची गई, दूसरी जिसे चुनौती मानदंड द्वारा परिभाषित किया गया है।

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

|?{$_.SideIndicator-eq'=>'}पाइप Compare-Objectका आउटपुट Where-Object, जो इसे केवल उन आइटम्स तक फ़िल्टर करता है, जो दूसरे इनपुट के लिए अनन्य हैं।


साने और शिक्षाप्रद।
स्टीफन लौरीचॉन

7

PHP - 92

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

आउटपुट:

कुछ भी तो नहीं

ओपी सभी अप्रयुक्त पात्रों को मुद्रित करने के लिए कहता है, ठीक है, मैं बस उन सभी का उपयोग करता हूं


किस बारे में <?='A"$%&\'()*+[,.]/0123456789:=-@ABCDEFGHIJKLMNOPQRSTUVWYZ\^_`abcdefghijklmopqrstuvwxyz{|}~#'?
जोक

मुझे पता था कि एक सबमिशन होगा जो सिर्फ सभी पात्रों का उपयोग करता है।
MilkyWay90

यह पात्रों का उपयोग नहीं करता है!;>Xn
जो किंग

6

जावास्क्रिप्ट, 92

(function f(){for(i=32;126>i++;)!~(""+f).indexOf(c=String.fromCharCode(i))&&console.log(c)})()

क्या यह उचित समाधान है? चेतावनी ( '! "# $% ^ * + / - / 0123456789:।? <=> @ ABCDEFGHIJKLMNOPQRSTUVWXYZ [] ^ _` bcdfghijkmnopqsuvwxyz {|} ~') में 95 वर्ण पर आता है और के रूप में नरक गूंगा है: पी।
ट्रिस्टिन

2
@tristin: P yeah javascript थोडा वर्बोस है जब इसे तारकोल करने की बात आती है। और क्या यह हर प्रोग्राम आपके प्रोग्राम का आउटपुट नहीं है। आपका अलर्ट आपके पाठ में भी है :)
C5H8NNOO4

1
हाहा, उफ़। ओह अच्छा।
ट्रिस्टिन

6

जावा - 126 अक्षर

कम से कम:

class hjq{public static void main(String...w){for(char z='"'|0;++z!='a';)if("'()+.0;=OS".indexOf(z)==~0)System.out.print(z);}}

अधिकतम किए जाते:

class hjq {
    public static void main(String... w) { 
        for (char z = '"'|0; ++z != 'a';) {
            if ("'()+.0;=OS".indexOf(z) == ~0) {
                System.out.print(z);
            }
        }
    }
}

यह एक दिलचस्प समस्या है, क्योंकि व्यक्तिगत टोकन अपने लंबे रूप से लाभान्वित हो सकते हैं क्योंकि यह पात्रों का पुन: उपयोग करता है। उदाहरण के लिए, सामान्य रूप String[]से छोटा होगा, लेकिन String...सशर्त स्ट्रिंग में वर्ग कोष्ठक की आवश्यकता को हटा देता है।

मैंने पाया कि चाल की शुरुआत और अंत में वर्णों का उपयोग करने की कोशिश की गई थी ताकि आप उन्हें अपने लूप की शुरुआत और अंत को बदलकर आउटपुट से बाहर कर सकें।

जावा के लिए, बाहर करने के लिए एक महत्वपूर्ण चरित्र है ", क्योंकि स्ट्रिंग में होने से इसे बचने की आवश्यकता होती है, जो \आपके प्रोग्राम में जोड़ता है, जिसे स्ट्रिंग में जाने की आवश्यकता होती है, जो जोड़ता है \\"अपनी सशर्त स्ट्रिंग से हटाकर आप 4 वर्णों को हटाते हैं। यह सुनिश्चित करने के द्वारा प्राप्त किया जा सकता है कि आप उपयोग करते हैं और !अपना लूप शुरू करते हैं #

सभी छोटे अक्षरों, रेंज के अंत के पास दिखाई देते हैं साथ ही {, |, }और ~उनके पीछे आ रहा है। जावा की वाचालता के कारण, निचले अक्षरों में से अधिकांश का उपयोग केवल बॉयलरप्लेट के लिए किया जाता है। इसी तरह, {और }एक जावा कार्यक्रम के लिए तुच्छ हैं, क्योंकि बॉयलरप्लेट को उनकी आवश्यकता है।

|यदि आपके पास कोई शर्त है या इस्तेमाल की जा सकती है, लेकिन मुझे इसका लाभ उठाने का एक तरीका नहीं मिल सकता है |जो बिटवाइज़ ऑपरेटर के रूप में उपयोग करने की तुलना में एक छोटे कार्यक्रम की ओर जाता है । |0मुझे एक छोटे से गंदा लग रहा है, क्योंकि यह केवल एक भाग एक nop सिर्फ वहाँ में चरित्र पाने के लिए है कि बनाता है।

~0पैदावार -1, जो है क्योंकि यह है कि क्या हम के साथ की जाँच करने की आवश्यकता है indexOf!=लूप सशर्त के लिए इसका उपयोग करने के साथ संयोजन करने से <चरित्र पूरी तरह से समाप्त हो जाता है, जिसका अर्थ है कि इसे सशर्त स्ट्रिंग के अंदर जाने की आवश्यकता नहीं है।


5

श (47)

tr</dev/urandom -cd \[:print:]|tr -d "`cat $0`"

आत्म-संदर्भित दृष्टिकोण का उपयोग करता है। मान लें /dev/urandomकि अंततः प्रत्येक ऑक्टेट का उत्पादन कम से कम एक बार होगा। समाप्त नहीं करता है।

यदि हम मानते हैं कि manस्थापित किया गया है, तो हम इसके बजाय ascii(7)मैनपेज का उपयोग कर सकते हैं (और इस प्रकार एक समाप्ति कार्यक्रम है) ( 44 वर्ण, धन्यवाद @fennec)।

man ascii|tr -cd \[:print:]|tr -d "`cat $0`"

क्या आप किसी अन्य फ़ाइल का उपयोग कर सकते हैं, संभवतः एक छोटे नाम के साथ, यह अनिवार्य रूप से सभी संभव ओकटेट्स की गारंटी है? और भी समाप्त हो सकता है? मैं / देव / स्मृति या कुछ और की तरह सोच रहा हूँ।

@fennec अगर हम यह मान लेते हैं manऔर zshस्थापित हैं, man zshallतो मानदंड फिट हैं। मैं इसे बदलाव के रूप में जोड़ सकता हूं।
FireFly

man asciiमुझे लगता है कि आप एक और पत्र बचा सकते हैं।

जो trआप उपयोग कर रहे हैं? GNU " " को एक रेंज ऑपरेटर के रूप में trमानता है , जो आउटपुट को तोड़ता है। -cat $0
टोबे स्पाइट

BTW, यदि asciiप्रोग्राम स्थापित है, तो आप इसके स्थान पर उपयोग कर सकते हैं man ascii
टोबे स्पाइट

5

बिटशिफ्ट , 1038 बाइट्स

BitShift एक भाषा है जो केवल का समर्थन करता है 0और 1वाक्य रचना के रूप में। मुझे लगा कि अन्य सभी पात्रों को प्रिंट करना आसान होगा, लेकिन चूंकि यह वास्तव में लूपिंग का समर्थन नहीं करता है, फिर भी यह एक बड़े पैमाने पर 1038 बाइट्स को समाप्त कर देता है।
हालाँकि, मेरा मानना ​​है कि इससे छोटा कोई भी संभव नहीं है।

101001100101011011010100110111010100100101011001101111010100100101011001000101011011010100101100110110101001001010110010001010110110101000001101010010010101100100010101101101010000010000011001010110110101000010000101011011010100110111010100100101011111100101011011010100110111010100100101011001101111010100100101011001000101011011010100000000011010100100101011001000101011011010100110010000101011011010100110111010100100101011001101001101010010010101100100010101101101010011001000010101101101010011011101010010010101111011111110010101101101010011011101010010010101100101100101011011010100010001010110110101001000010101101101010011011101010010010101110111110010101101101010011011101010010010101111111100101011011010100110111010100100101011111011110101001001010110010001010110110101001000100000101011011010100110111010100100101011111010011010100100101011001000101011011010100100000101011011010100110111010100100101011001101111010100100101011001000101011011010100010000010101101101010011011101010010010101101001101101010010010101101001101010

प्रिंटों

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

इसे यहाँ आज़माएँ


4

निश्चित रूप से यहां सबसे लंबा समाधान है, लेकिन लिनो में कोडिंग हमेशा मजेदार होती है:

L.in.oleum -655 523 अक्षर

"libraries"/arch/cpu/base;/hmi/conout;/data/bytes;/data/string/t2s;/data/heap;/data/heap/connect/mgrab;"stockfile"a;"directors"displaystatus=engage;"injection"c=524;b<-bytes.bytesizeconvert:c;b<-heap.alloc:b;a<-heap.alloc:c;[filecommand]=readfile;[filename]=stockfile;[fileposition]=0;[fileblocksize]=c;[fileblockpointer]=b;arch.fileread;[string.psource]=b;[string.ptarget]=a;string.t2s;b<-heap.alloc:7fh;c=32;d=b;"f"[d_32]=c;+c;+d;?c<7fh>f;"w"d=[a];+a;?d=0>y;?d<32>w;?d>7eh>w;e=b;e+d;[e]=33;^w;"y"b+32;"v"conout.say:b;bye;

कोई टिप्पणी नहीं, बस बाइनरी में संकलित स्रोत को पढ़ता है। के रूप में सहेजें a.txtया यह संकलन नहीं होगा!


4
नहीं, JSFuck एक लंबा है।
जो जेड।

4

ब्रेनफक, 133 123 114 110 बाइट्स

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

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

मूल प्रस्तुत करना

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

यह निम्न कार्य करता है:

  • 11. 13, 28, 33 वाले 4 रजिस्टर बनाएं
  • मुद्रण शुरू करने के लिए मूल्य 31 के साथ 5 वीं बनाएं
  • आस्की 32-42 (11) प्रिंट करें
  • आस्की को 44 प्रिंट करें
  • प्रिंट आस्की 47-59 (13)
  • अससी 61 प्रिंट करें
  • प्रिंट ascii 63-90 (28)
  • एससीआई 92 प्रिंट करें
  • आस्की 94-126 (33) प्रिंट करें

4

हास्केल (70)

import Data.List
main=putStrLn$[' '..'~']\\" \\\"$'.=DLS[]aimnoprstu~"

उबाऊ डुप्लिकेट-अक्षर-इन-प्रोग्राम-इन-ए-स्ट्रिंग, घटाना-से-सार्वभौमिक-सेट समाधान। एक कोडगॉल्फ विजेता से दूर, हालांकि इसकी लंबाई के लिए यह आश्चर्यजनक रूप से सुपाठ्य है।

(अब filter/ के बजाय सूची घटाव के साथ notWith।)


आप बदल सकते हैं import Data.Listकरने के लिएimport List
गर्व haskeller

@ गौरवशाली हुह, वास्तव में? जब मैं इसके साथ प्रयास करता हूं तो यह काम नहीं करता है runhaskell: "मॉड्यूल 'सूची' नहीं मिल सका"। मैंने देखा कि मैं वर्णों की संख्या को कम कर दूंगा, लेकिन मैंने इसे ठीक कर लिया।
फायरफली

1
अच्छा, यह अजीब है, इसे ghc या ghci के साथ आज़माएँ? यह मेरे लिए
गर्व का

@proudhaskeller nope, इसे काम पर नहीं ला सकता। यह जीएचसी 7.8.3 के साथ है।
फायरफली

3

जे - 21

(u:32+i.97)-.1!:1<":5

5वर्तमान निर्देशिका में नामक फ़ाइल पर इसे लिखें । फिर स्क्रिप्ट को लोड करें0!:1<'5'

या फ़ाइल चाल के बिना 25:

(-.~".)'(":u:32+i.0-~95)'

स्रोत कोड में 'आउटपुट शामिल नहीं है।
फायरफली

3

क्लोजर (142, 106, 103)

(defn -main[](let[c"(fn[l](pr(reduce disj(set(map char(range 32 126)))l)));-\\\"o"]((load-string c)c)))

स्वरूपित:

(defn -main []
  (let [c "(fn[l](pr(reduce disj(set(map char(range 32 126)))l)));-\\\"o"]
    ((load-string c) c)))

लगता है कि यह ऐसा करता है, कुछ tweaks की आवश्यकता हो सकती है। उत्पादन:

#{@ ` ! A B b # C $ D % E & F ' G H I * J + K k , L M . N / O 0 P Q q R S 4 T 5 U V v 7 W w 8 X x 9 Y y : Z z { < | = } > ^ ? _}

स्ट्रिंग चलाता है, जो कि मूल्यांकन योग्य क्लोजर कोड है, स्वयं पर। स्ट्रिंग के बाहर पात्रों का उपयोग करने के लिए स्ट्रिंग में कुछ टिप्पणियां हैं (मुख्य विधि, आदि)


3

अजगर २, ६ ९

for x in range(38):print chr(x+59)#!"$%&'*,-./012467bdjklmqsuvwyz{|}~

मैं सबसे लंबे समय तक उपयोग करता हूं (जो मैं खोजने में सक्षम हूं) निरंतर वर्णों का अनुक्रम मैं प्रिंट कर सकता हूं और कोड के बाद टिप्पणी के रूप में दूसरों को जोड़ सकता हूं।


8
मैं कुछ भी नहीं है कि एक टिप्पणी है
जॉन Dvorak

मेरे उत्तर को इस कार्य को हल करने का सबसे खराब तरीका दिखाना चाहिए। (टिप्पणी का उपयोग करें)।
जोहान्स कुह्न

9
ठीक है ... कि बहुभाषी कुछ भी नहीं है कि के लिए छोड़कर लेकिन एक टिप्पणी।
जॉन ड्वोरक

@JohannesKuhn हालांकि, यह सबसे लंबा कोड है जो काम करता है, यह प्रतियोगिता नहीं जीतेगा। : पी
जो जेड।

5
@JoeZ। यदि यह आपके द्वारा काम की जाने वाली भाषाओं की संख्या से विभाजित करता है तो यह एक बड़े अंतर से जीतती है
जॉन ड्वोरक
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.