2 बिल्लियाँ एक कुनैन में


30

चुनौती

दो प्रोग्राम A और B बनाएं, जो दोनों एक ही भाषा में कैट प्रोग्राम हैं। जब अवगत कराया जाता है, तो एबी (उसी भाषा में) एक क्वीन होना चाहिए।

उदाहरण के लिए, मान लें helloऔर worldभाषा XYZ में दोनों बिल्ली कार्यक्रम हैं। अगरhelloworld उक्त भाषा में एक क्वीन है, तो आपका समाधान मान्य है।

आप में से उन लोगों के लिए जो बिल्लियों और quines से अपरिचित हैं, एक कैट प्रोग्राम वह होता है जो वास्तव में प्रिंट करता है जिसे स्टड के माध्यम से दिया गया था और एक quine एक प्रोग्राम है जो अपने स्वयं के सोर्स कोड को प्रिंट करता है।

स्कोरिंग और नियम

  • संक्षिप्त एबी कार्यक्रम की कुल बाइट गिनती आपका स्कोर है। जैसा कि यह कोड गोल्फ है, सबसे कम स्कोर जीतता है।
  • मानक खामियों को मना किया जाता है
  • इनपुट स्टड से लिया जाना चाहिए और आउटपुट को stdout में जाना चाहिए।
  • बिल्ली कार्यक्रमों को तर्क लेने की आवश्यकता नहीं है; उन्हें केवल स्टडआउट करने के लिए स्टड कॉपी करने की आवश्यकता है
  • जब प्रोग्राम को कोई इनपुट नहीं दिया जाता है, तो रानी को काम करना चाहिए, लेकिन अन्य इनपुट के लिए सही तरीके से काम नहीं करना चाहिए (लेकिन हो सकता है)।
  • रानी को समाप्त करने की आवश्यकता नहीं है, बशर्ते वह एक बार अपने स्रोत कोड को बिल्कुल प्रिंट करता है, इससे अधिक कुछ नहीं।
  • कम से कम एक बाइट लंबी होनी चाहिए।
  • ए और बी एक ही कार्यक्रम हो सकता है।
  • बीए को क्वीन या यहां तक ​​कि एक वैध कार्यक्रम की आवश्यकता नहीं है।

मुझे नहीं लगता कि आपके पास ए और बी एक ही प्रोग्राम नियम होना चाहिए
मुहम्मद सलमान

2
@MuhammadSalman मेरा मूल विचार एक बिल्ली के कार्यक्रम को एक रानी में बदलने के लिए दोगुना होना था। मैं सिर्फ आसान समाधान के लिए दरवाजा खोलना चाहता था क्योंकि मुझे पूरी तरह से यकीन नहीं था कि यह संभव था। ऐसा लगता है कि मैं दोनों मामलों में गलत था, लेकिन मैं इसके साथ ठीक हूं।
बीफस्टर

3
आपको शायद जोड़ना ABचाहिए कि गैर-खाली होना चाहिए, क्योंकि बहुत सारी भाषाओं में 0-बाइट बिल्ली के लिए 0-बाइट की अनुमति है।
डीजेएमकेम

9
@DJMcMayhem 0-बाइट क्वीन हालांकि एक मान्य क्वीन नहीं होगी।
निसा

4
बिल्ली कार्यक्रम क्या है?
पेड्रो ए

जवाबों:


32

वी , 2 + 2 == 4 बाइट्स

2i2i

रानी की कोशिश करो!

बिल्ली की कोशिश करो!

है2i

बी भी है2i

यह कैसे काम करता है?

सबसे पहले, कुछ स्पष्टीकरण कि वी कैसे काम करता है। एक उल्लेखनीय बात जो इस उत्तर को संभव बनाती है, वह यह है कि V में, खाली प्रोग्राम है एक बिल्ली कार्यक्रम। यह कोई विशेष मामला नहीं है, यह अंतर्निहित है कि वी कैसे संचालित होता है। स्टार्टअप पर, सभी इनपुट को "बफर" में लोड किया जाता है, प्रत्येक कमांड बफर में किसी न किसी को संशोधित करता है, और फिर जब प्रोग्राम किया जाता है, तो बफर को स्पष्ट रूप से प्रिंट किया जाता है। इसका मतलब यह है कि एनओपी के किसी भी स्ट्रिंग एक बिल्ली कार्यक्रम भी है।

iआदेश साधन मोड डालने दर्ज है, जो एक निम्न हर चरित्र का मतलब है iबफर में जोड़ दिया जाएगा। एक नंबर से पहले, उस पाठ को डुप्लिकेट किया जाएगा n बार ।

इसका मतलब यह है कि बिल्ली कार्यक्रम के लिए, बफर में कुछ भी नहीं जोड़ा जाएगा, और इसे मुद्रित किया जाएगा जैसा कि पढ़ा गया था। दूसरे शब्दों में:

        " (Implicitly) Load all input
2       " 2 times,
 i      " Insert the following text into the buffer...
        " (nothing)
        " (Implicitly) Print the buffer

लेकिन क्वीन के लिए, के बाद पाठ है i:

2       " 2 times,
 i      " Insert the following text into the buffer...
  2i    "   "2i"
        " (Implicitly) Print the buffer

चुटीला गैर-जवाब

वी , 0 बाइट्स

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

खाली कार्यक्रम है।

बी भी खाली कार्यक्रम है।

: पी


21
हर दूसरी भाषा: ओय, हमने एक मृत अंत मारा है! । V: * पद मानक क्वीन *
आउटगोल्फ

13

रूबी, 71 बाइट्स

2;puts (<<2*2+?2)[/.+2/m]||$<.read
2;puts (<<2*2+?2)[/.+2/m]||$<.read
2

निम्नानुसार बिल्लियों में टूट सकता है:

2;puts (<<2*2+?2)[/.+2/m]||$<.read
2

तथा

;puts (<<2*2+?2)[/.+2/m]||$<.read
2

दो बिल्लियाँ अग्रणी 2 को छोड़कर एक समान हैं, जो तीनों कार्यक्रमों में एक ऑप है। <<2एक herestring है, कि सब कुछ जब तक अपनी पंक्ति में एक समाप्त 2 एक स्ट्रिंग है, जो हम अपने आप (करने के लिए जोड़ है अगली पंक्ति से शुरू होने वाले अर्थ *2) और संलग्न एक अनुगामी 2. बिल्लियों herestring अच्छी तरह से गठित लेकिन खाली होने पर, इसलिए नियमित अभिव्यक्ति इससे मेल नहीं खाती और हम $<.readअभिव्यक्ति और आउटपुट STDOUT के माध्यम से गिरेंगे । एक बार जब हम बिल्लियों से संपर्क करते हैं, हालांकि, स्ट्रिंग तीसरी पंक्ति तक समाप्त नहीं होगी, इसलिए रेगेक्स मैच करता है और हम शॉर्ट-सर्किट और क्वीन का उत्पादन करते हैं।


11

पायथ, 29 बाइट्स (5 + 24) 27 बाइट्स (5 + 22)

pz=T0?TzjN*2]"pz=T0?TzjN*2]     # Quine
pz=T0                           # Cat A
     ?TzjN*2]"pz=T0?TzjN*2]     # Cat B

वह मजेदार था।
यहाँ की
कोशिश करो यहाँ पहली बिल्ली की कोशिश करो यहाँ
की दूसरी बिल्ली की कोशिश करो

स्पष्टीकरण

Cat A
pz=T0
pz       Print the input.
  =T0    (Irrelevant for cat)

Cat B
?TzjN*2]"pz=T0?TzjN*2]
?Tz                      If T (10) is truthy, output the input.
   jN*2]"pz=T0?TzjN*2]   (Irrelevant for cat)

Quine
pz=T0?TzjN*2]"pz=T0?TzjN*2]
pz                            Print the (empty) input (without a newline).
  =T0                         Set T to 0.
     ?Tz                      If T (0) is truthy, output the input.
             "pz=T0?TzjN*2]   Otherwise, get this string...
          *2]                 ... take two copies...
        jN                    ... and join them with a quote.

11

सी # (विजुअल सी # कंपाइलर) , 551 बाइट्स

एक: 95 बाइट्स

class A{public static int i=2;static void Main(string[]args){System.Console.Write(args[0]);}}//

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

बी: 438 + 18 बाइट्स

class A{public static int i=0;}
class B{static void Main(string[]args){if(A.i<1){System.Console.Write(args[0]);return;}var a=@"class A{{public static int i=2;static void Main(string[]args){{System.Console.Write(args[0]);}}}}//class A{{public static int i=0;}}
class B{{static void Main(string[]args){{if(A.i<1){{System.Console.Write(args[0]);return;}}var a=@{0}{1}{0};System.Console.Write(a,'{0}',a);}}}}";System.Console.Write(a,'"',a);}}

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

ए + बी: 533 + 18 बाइट्स

class A{public static int i=2;static void Main(string[]args){System.Console.Write(args[0]);}}//class A{public static int i=0;}
class B{static void Main(string[]args){if(A.i<1){System.Console.Write(args[0]);return;}var a=@"class A{{public static int i=2;static void Main(string[]args){{System.Console.Write(args[0]);}}}}//class A{{public static int i=0;}}
class B{{static void Main(string[]args){{if(A.i<1){{System.Console.Write(args[0]);return;}}var a=@{0}{1}{0};System.Console.Write(a,'{0}',a);}}}}";System.Console.Write(a,'"',a);}}

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

कमांड लाइन तर्क के रूप में ए और बी इनपुट लेते हैं। A + B किसी भी इनपुट को अनदेखा करता है। बी और ए + बी पर 18 बाइट्स के लिए जोड़ा जाता है/p:StartupObject=B MSBuild को भेजे गए विकल्प के । यह ए + बी पर केवल कड़ाई से आवश्यक है, लेकिन ऐसा लगता था कि बी में भी नहीं है। इस तरह से, ए + बी के लिए संकलक झंडे ए (कोई नहीं) के लिए संकलक झंडे हैं और बी के लिए संकलक झंडे हैं।

व्याख्या

प्रोग्राम ए सीधा है। क्लास ए में (अप्रयुक्त) स्टैटिक वैरिएबल iइनिशियलाइज़ होता है 2, और रन होने पर इसका पहला तर्क प्रिंट करता है। //अंत में ए + बी कोड के लिए महत्वपूर्ण है, लेकिन एक अपने आप में कुछ नहीं करता है।

प्रोग्राम बी अलगाव में अजीब है, लेकिन अनिवार्य रूप से समान है। यह एक क्लास ए बनाता है जिसमें एक स्टैटिक वेरिएबल होता है जिसे iइनिशियलाइज़ किया जाता है 0, और उसके बाद क्लास बी का मेन मेथड चलाया जाता है, जो प्रोग्राम A के समान ही होता है क्योंकि A.i1 से कम है, और किसी भी अजीब सामान से पहले रिटर्न करता है। यहां नईलाइन आवश्यक नहीं हैं, लेकिन A + B के लिए महत्वपूर्ण हैं।

संयुक्त होने पर, //प्रोग्राम ए से प्रोग्राम बी से क्लास ए की घोषणा की जाती है, लेकिन न्यूलाइन की वजह से क्लास बी ठीक है, इसके बजाय प्रोग्राम ए से मूल्य A.iको संदर्भित करने की अनुमति देता है 2। कंपाइलर फ्लैग प्रोग्राम को B.Main () चलाता है क्योंकि A.Main () भी मौजूद है। इसका परिणाम यह है कि प्रोग्राम ए + बी अपने तर्क का उत्पादन नहीं करता है, बल्कि बी.मेन () के निम्नलिखित सेगमेंट में जाता है, जो मूल रूप से मानक सी # क्वीन है


1
"बिल्ली कार्यक्रम ... स्टडआउट को स्टडिन को कॉपी करने की आवश्यकता है"
जैकब

9

हास्केल , 116 + 20 = 187 175 174 136 बाइट्स

अर्जन जोहानसन ने मुझे दिखाया तब से बाइट्स का एक गुच्छा बचा interact

बिल्ली १

g=";main|idmain<-(++\"g=\"++show g++g)=interact idmain|1>0=interact id";main|idmain<-(++"g="++show g++g)=interact id

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

बिल्ली २

main|1>0=interact id

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

Quine

g=";main|idmain<-(++\"g=\"++show g++g)=interact idmain|1>0=interact id";main|idmain<-(++"g="++show g++g)=interact idmain|1>0=interact id

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


यहां काम पर बुनियादी सिद्धांत है कि जब हम करने के लिए दूसरे बिल्ली जोड़ने पहले हम समारोह हम से के साथ बातचीत कर रहे हैं का नाम परिवर्तित है aकरने के लिए idmain। चूंकि interact idएक बिल्ली है, हम idmainमुझसे एक ऐसा कार्य चाहते हैं, जो एक क्वीन लौटाता है। स्पष्ट समाधान का उपयोग करना होगा const, हालांकि जब से हम यह मान सकते हैं कि इनपुट खाली है एन्कोडेड नहीं है और इसे मैन्युअल रूप से संभाला जाना चाहिए। हमारी अगली बिल्ली सुंदर मानक है, इसके अलावा हमें दूसरी बिल्ली के अंत से निपटने के लिए इसे वैध कोड बनाने की आवश्यकता है, इसलिए हमें दोनों बिल्लियों को पैटर्न गार्ड के उदाहरण होने की आवश्यकता है।(++) काम है। यहाँ से हम स्रोत कोड को सुंदर मानक साधनों के माध्यम से खोजते हैं, हमारे पास एक चर gहै जो स्रोत को एन्कोड करता है और हम इसे स्ट्रिंग रूप और कोड रूप में प्रिंट करने के लिए एक विशेष आवरण का उपयोग करते हैं। एक मामूली अपवाद है कि हमें अपने एनकोडर को सामने रखने की आवश्यकता है क्योंकि हमें पहले से ही समाप्त होने की आवश्यकता है interact id। इसका मतलब एक अतिरिक्त हैg=

वैकल्पिक रणनीति, 43 + 105 = 186 148

बिल्ली १

g="";main|idmain<-(++g++show g)=interact id

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

बिल्ली २

main|1>0=interact id where g="g=\"\";main|idmain<-(++g++show g)=interact idmain|1>0=interact id where g="

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

Quine

g="";main|idmain<-(++g++show g)=interact idmain|1>0=interact id where g="g=\"\";main|idmain<-(++g++show g)=interact idmain|1>0=interact id where g="

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


1
आप उस जगह को छोटा करके बदल सकते हैं getContents+ के putStrसाथ interact idइसे ऑनलाइन आज़माएं! (क्वीन अब गैर-रिक्त इनपुट के साथ काम नहीं करता है, जो इसके (++ ...)लिए एक अनुभाग का उपयोग करने की अनुमति देता है idmain।)
अर्जन जोहान्सन

@ ØrjanJohansen धन्यवाद! मैं इस बारे में नहीं जानता था interact, मुझे लगता है कि क्योंकि मैं शायद ही कभी हास्कोल के साथ आईओ सामान करता हूं। मैंने पोस्ट को एडिट किया है।
गेहूं जादूगर

8

पायथन 3, 286 बाइट्स

मेरा पहला पायथन गोल्फ और मेरी पहली रानी! बहुत सुरुचिपूर्ण नहीं है, लेकिन यह काम करता है।

कार्यक्रम ए (238 बाइट्स)

from atexit import*;s="from atexit import*;s=%r;register(lambda:print(end='b'in globals()and s%%s or open(0).read()));b=0\nif's'not in vars():print(end=open(0).read())";register(lambda:print(end='b'in globals()and s%s or open(0).read()));

(कोई अनुगामी न्यूलाइन नहीं)

कार्यक्रम बी (48 बाइट्स)

b=0
if's'not in vars():print(end=open(0).read())

(कोई अनुगामी न्यूलाइन नहीं)

यह ऑनलाइन की कोशिश करो

स्वीकृतियाँ

  • -24 बाइट्स जो किंग को धन्यवाद
  • -82 बाइट्स जो किंग को धन्यवाद

आप नईलाइन और उद्धरणend=open...%r%s
जो किंग

कूल, मैंने स्विच किया %r। यकीन नहीं है कि आप हालांकि newline के बारे में क्या मतलब है।
जैकब

1
%sएक नई पंक्ति को प्रारूपित करने के बजाय , आप केवल शाब्दिक कार्य कर सकते हैं \n। आप ;इसके बजाय बयानों को विभाजित करने के लिए उपयोग कर सकते हैं \n(केवल ifअपनी लाइन पर होने की आवश्यकता को छोड़कर )। %कर स्ट्रिंग में बच सकते हैं %%। स्ट्रिंग को प्रारूपित करने के लिए एकमात्र तर्क स्ट्रिंग ही है, बाकी सब कुछ धारीदार हो सकता है
जो किंग

1
प्रोग्राम बी (और इसके लिए पाठ) locals()2 बाइट्स को बचाने के लिए उपयोग कर सकते हैं ।
योनातन एलन

6

सी ++ (क्लैंग) , 313 + 102 = 415 बाइट्स

कार्यक्रम ए (एक नई पंक्ति में समाप्त होता है):

#include<cstdio>
#define Q(x,y)#x,B=#y;x
int c;auto I="#include<cstdio>",A=Q(int main(){if(c)printf("%s\n#define Q(x,y)#x\",\"#y;x\nint c;auto I=\"%s\",A=Q(%s,)\n#ifdef Q\nint n=++c;\n#else\n%s\n%s\n#endif",I,I,A,I,B);else while((c=getchar())>=0)putchar(c);},int c;int main(){while((c=getchar())>=0)putchar(c);})

प्रोग्राम बी (न्यूलाइन में समाप्त नहीं होता है):

#ifdef Q
int n=++c;
#else
#include<cstdio>
int c;int main(){while((c=getchar())>=0)putchar(c);}
#endif

बहुत डरपोक नहीं, और हमेशा की तरह C ++ क्वीनिंग के लिए बहुत अच्छा नहीं है। मुझे आश्चर्य नहीं होगा अगर वहाँ एक ही विचार से बाइट्स दाढ़ी बनाने के तरीके हैं। एक छोटी सी पकड़ को परिभाषित करने के बाद कुछ के व्यवहार को बदल रहा है, और साइड इफेक्ट के साथ एक डायनामिक वैरिएबल इनिशियलर ट्रिक करता है। (क्या यह भी संकलक एक्सटेंशन के बिना सी में किया जा सकता है?)

इसे ऑनलाइन आज़माएं: , बी , एबी

(मुझे पता है कि केवल पोर्टेबिलिटी की चिंता यह है कि कार्यक्रम मानता है कि <cstdio>दोनों वैश्विक नामस्थान और में नाम रखते हैं std।)


5

Befunge-98 (FBBI) , 8 + 15 = 23 बाइट्स

A + B: (केवल बिना इनपुट के काम करता है)

+9*5~,#@#@~,9j>:#,_:@#"

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

ए:

+9*5~,#@

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

बी:

#@~,9j>:#,_:@#"

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


मैं सोच रहा था कि क्या कोई बेवजह जवाब देगा। यह बहुत बुरा है यह एक 2 डी नहीं है: - /
बीफस्टर

@ बीफ़स्टर हाँ। समस्या यह है कि एक 2d Quine करना बहुत कठिन है। शायद मैं कुछ पर काम
करूंगा

5

पायथन 3 , 100 + 37 = 137 बाइट्स

कार्यक्रम ए:

s='s=%r;print(end=open(0).read())#print(end=open(0).read())\nprint(s%%s)';print(end=open(0).read())#

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

कार्यक्रम बी:

print(end=open(0).read())
print(s%s)

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

क्वीन एबी बनाएं

s='s=%r;print(end=open(0).read())#print(end=open(0).read())\nprint(s%%s)';print(end=open(0).read())#print(end=open(0).read())
print(s%s)

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

इनपुट खाली होने पर ही काम करता है, अन्यथा यह इनपुट को आउटपुट के लिए प्रस्तुत करता है।


डबल कोट्स सिंगल होने चाहिए।
जोनाथन एलन

दुर्घटनाग्रस्त होने की अनुमति है?
जैकब

@ जकोब सवाल यह नहीं कहता कि दुर्घटनाग्रस्त है अनुमति नहीं है , और आमतौर पर STDERR को आउटपुट की अनदेखी की जाती है
जो किंग

ठीक है पर्याप्त ठीक है। चतुर शॉर्टकट!
जैकब

4

अटैच , 15 + 126 = 141 बाइट्स

ए:

AllInput[]|Echo

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

बी:

@{If[_,s.="AllInput[]|Echo@{If[_,s.=%s;;Printf[s,Repr!s],AllInput[]|Echo]es}|Call";;Printf[s,Repr!s],AllInput[]|Echo]es}|Call

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

ए + बी:

AllInput[]|Echo@{If[_,s.="AllInput[]|Echo@{If[_,s.=%s;;Printf[s,Repr!s],AllInput[]|Echo]es}|Call";;Printf[s,Repr!s],AllInput[]|Echo]es}|Call

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

व्याख्या

प्रत्येक बिल्ली कार्यक्रम सांकेतिक शब्दों में बदलना AllInput[]|Echo , जो एक सरल बिल्ली कार्यक्रम है। बी मुख्य क्वीन चरण है; अकेले, यह एक वेक्टरकृत फ़ंक्शन है (यूनीरी के माध्यम से @) जिसे कोई इनपुट नहीं कहा जाता है (जैसा कहा जाता है |Call)। इस प्रकार, पहली सशर्त If[_,A,B]निष्पादित होती है B, जो बस है AllInput[]|Echo

कब A + B निष्पादित होता है, तो लैरीडा के साथ विलय के कारण यूनरी @बाइनरी हो जाती है :@Echo

AllInput[]|Echo@{If[_, ...

अब, इसका मतलब है कि मेमने को पहले निष्पादित किया गया Echoहै। सशर्त में वापस, इस फ़ंक्शन में अब तर्क के रूप में सभी STDIN हैं। इसलिए,If[_,A,B] निष्पादित करता है A, जो मानक क्वीन फ्रेमवर्क है।


3

स्टैक्स , 16 + 12 = 28 बाइट्स

बिल्ली 1:

"yi|d|ca34b4lr"y

इसे चलाएं और डीबग करें

"yi|d|ca34b4lr"y Full program, implicit input
"yi|d|ca34b4lr"  Push the string
               y Push raw input
                 Implicit output of top item

बिल्ली 2:

i|d|ca34b4lr

इसे चलाएं और डीबग करें

i|d|ca34b4lr Full program, implicit input
i            Don't parse input (prefix directive)
 |d          Push main stack depth, always zero
   |c        Cancel because top item is falsy, and implicitly print
     a34b4lr Never executed

Quine:

"yi|d|ca34b4lr"yi|d|ca34b4lr

इसे चलाएं और डीबग करें

"yi|d|ca34b4lr"yi|d|ca34b4lr Full program
"yi|d|ca34b4lr"              Push the string
               y             Push input
                i            No-op
                 |d          Push main stack depth, i.e. 2
                   |c        Do nothing because top is truthy
                     a       Get the string to the top
                      34     Push 34 (charcode of ")
                        b    Copy both
                         4l  Listify top 4
                           r Reverse
                             Implicit output

3

बिल्ली 1:

लुआ , 41 बाइट्स

a=io.read;while a(0)do io.write(a(1))end;

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


बिल्ली 2:

लुआ , 70 बाइट्स

if a then io.input(arg[0])end;a=io.read;while a(0)do io.write(a(1))end

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


काफी:

लूआ , 111 बाइट्स

a=io.read;while a(0)do io.write(a(1))end
if a then io.input(arg[0])end;a=io.read;while a(0)do io.write(a(1))end

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

io.input(arg[0]) बिल्ली 2 में वर्तमान फ़ाइल को मानक इनपुट के रूप में सेट करता है, और परिणामस्वरूप, बिल्ली स्रोत कोड को प्रिंट करती है


1
PPCG में आपका स्वागत है
मुहम्मद सलमान

आप अंतिम अर्ध-कॉलन को हटाकर बिल्ली 1 में एक बाइट बचा सकते हैं?
मुहम्मद सलमान

1
दुर्भाग्य से, वर्तमान फ़ाइल को पढ़ना एक मानक खामी है। लेकिन अच्छी कोशिश वैसे भी।
बीफस्टर


0

जावास्क्रिप्ट (Node.js) , 199 बाइट्स


a=()=>console.log(require('fs').readFileSync(0)+'');a();var a=a||0;b=()=>console.log(require('fs').readFileSync(0)+'');!a?b():c=()=>console.log(`a=${a};a();var a=a||0;b=${b};!a?b():c=${c},c()`),c()

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

कैट ए, 57 बाइट्स


a=()=>console.log(require('fs').readFileSync(0)+'');a();

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

कैट बी, 142 बाइट्स

var a=a||0;b=()=>console.log(require('fs').readFileSync(0)+'');!a?b():c=()=>console.log(`a=${a};a();var a=a||0;b=${b};!a?b():c=${c},c()`),c()

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

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