स्रोत कोड जाओ!


18

स्रोत-कोड में छिपे छोटे प्राणियों का शिकार करने के लिए संवर्धित वास्तविकता का उपयोग करें। एक क्वीन प्रोग्राम लिखें जो अपने स्वयं के कोड स्रोत को आउटपुट करता है, सिवाय 5 लगातार चरित्रों को संशोधित किए और जो एक पीसीजी-मोन प्रदर्शित करेगा :(^_^)

5 लगातार वर्णों को स्रोत कोड (स्थिति 0से n-5, nस्रोत कोड लंबाई होने) में कहीं भी तैनात किया जा सकता है । स्रोत कोड में न्यूनतम 5 वर्ण होने चाहिए। स्ट्रिंग (^_^)या इसके किसी भी विकल्प की लंबाई> = 2 को केवल आउटपुट में प्रारंभिक स्रोत कोड में दिखाई नहीं देना चाहिए।

वैध प्रस्तुत करने का उदाहरण:

  • स्रोत कोड my source code, आउटपुटmy (^_^)e code

अमान्य:

  • स्रोत कोड (^_^) copy;, आउटपुट(^_^) (^_^)

मानदंड जीतना

बाइट्स में सबसे छोटा कोड जीतता है।


5
अत्यधिक नकारात्मक नहीं होना चाहिए, लेकिन यह एक सामान्यीकृत क्वीन है और y समस्या के बिना एक एक्स है। सामान्य क्विनिंग विधि वाली भाषा में, यह सुस्त है। आपने यह भी निर्दिष्ट नहीं किया है कि यदि आपका स्रोत कोड 5 बाइट्स या उससे कम है तो क्या होना चाहिए।
FryAmTheEggman

@ मुझे लगता है कि 5 वर्णों (^_^)वाले स्रोत कोड के साथ 5 वर्णों को प्रदर्शित करना संभव नहीं है ? शायद विशिष्ट कूटबन्धन के साथ ...
अरनौद

3
हालांकि मुझे यकीन नहीं है कि इस मामले में यह संभव है, लेकिन यह एक ऐसा कार्यक्रम बनाने के लिए तुच्छ है जो इसमें अधिक बाइट्स प्रिंट करता है। उदाहरण के लिए, Pyth प्रोग्राम Gआउटपुट का उत्पादन करता है abcdefghijklmnopqrstuvwxyz
FryAmTheEggman

3
मैं सलाह दूंगा कि कार्यक्रम कम से कम 6 वर्णों के होने चाहिए, बस कोई भी कोशिश नहीं करता है, बबलगम कहते हैं ।
Sp3000

2
@FryAmTheEggman एक नीरस और एक दिलचस्प सामान्यीकृत क्वीन के बीच की रेखा ठीक है। मेरा मेटा उत्तर ज्यादातर उन क्वैनों का जिक्र है जहां एकमात्र व्यवहार्य समाधान पूरे स्रोत कोड का प्रतिनिधित्व करने वाली स्ट्रिंग प्राप्त करना और फिर उस स्ट्रिंग को संसाधित करना है। यदि ऐसे समाधान हैं जो किसी बिंदु पर पूर्ण स्रोत कोड का निर्माण किए बिना दूर हो सकते हैं, तो मुझे लगता है कि आमतौर पर पहले से ही दिलचस्प समाधानों की अनुमति देता है (जैसे वर्तमान में सीजेएम उत्तर)। वाई के बिना एक्स के लिए के रूप में, सब्सट्रिंग पर प्रतिबंध तुच्छ (क्विन) समाधान से बचने के लिए आवश्यक लगता है।
मार्टिन एंडर

जवाबों:


14

जावास्क्रिप्ट ईएस 6, 44 बाइट्स

$=_=>`$=(\^\_\^\)${($+'').slice(5)};$()`;$()

आउटपुट:

$=(^_^)=(\^\_\^\)${($+'').slice(5)};$()`;$()

अभी भी गोल्फ पर काम कर रहे हैं, लेकिन यह अभी के लिए काम करता है।


12
एक और चेहरा होने के लिए +1:=_=
साइपो

2
क्या आप ऐसा नहीं कर सकते $=_=>`(\^\_\^\)${($+'').slice(3)};$()`;$()(यह वास्तव में भी अच्छा लग रहा है क्योंकि अब ऐसा लगता है कि आप सोते हुए चेहरे को जगा रहे हैं)। :)
मार्टिन एंडर

10

विम, 33 , 27 कीस्ट्रोक्स

qqqqqS(<C-v>94_<C-v>94)q@q<esc>hh"qPq@q

ध्यान दें कि <C-v>ctrl + v, और बाइट है 0x16और <esc>बच चरित्र है, और बाइट है 0x1B

यह सिर्फ मेरे गोल्फ के एक छोटे से संशोधित संस्करण का उपयोग करता है आप बहुत अच्छे के लिए एक रानी! जवाब।

आउटपुट:

(^_^)S(^V94_^V94)q@q^[hh"qPq@q

यह मान्य है क्योंकि ^Vvim प्रतिनिधित्व करने का तरीका है <C-v>और ^[vim प्रतिनिधित्व करने का तरीका है <esc>

मूल विचार, केवल पाठ (^_^)को उसके कोड बिंदुओं से इनपुट करना है ताकि हम उन पात्रों को स्रोत कोड में डालने से बच सकें। सम्मिलित मोड में, <C-v>number"संख्या" के ASCII चरित्र को सम्मिलित करेगा। हालांकि, चूंकि चुनौती कहती है:

स्ट्रिंग (^_^)या इसके किसी भी विकल्प की लंबाई> = 2 को केवल आउटपुट में प्रारंभिक स्रोत कोड में दिखाई नहीं देना चाहिए।

यह उत्तर केवल ^वर्णों के कोडपॉइंट्स को दर्ज करके और दर्ज करके "सबस्ट्रिंग" नियम का दुरुपयोग करता है( ,_ , और )सीधे रूप से ।

यहां एक gif है जो आपको इस समाधान को कार्रवाई में देखने देता है, और तुलना के लिए स्रोत कोड और आउटपुट पक्ष को साथ रखता है:

यहाँ छवि विवरण दर्ज करें


बहुत डरपोक, ^नियंत्रण चार का उपयोग कर ... +1
R


3

पायथन, 115 111 107 बाइट्स

def f():s='def f():s=%r;print s%%s.replace(s[:5],"^".join("(_)"))';print s%s.replace(s[:5],"^".join("(_)"))

कॉल f()और आउटपुट है:

def f():s='(^_^)():s=%r;print s%%s.replace(s[:5],"^".join("(_)"))';print s%s.replace(s[:5],"^".join("(_)"))

इसी तरह के एक सवाल के जवाब से प्रेरित होकर ।


साइट पर आपका स्वागत है!
DJMcMayhem


3

गो (गोलंग), १३१ बाइट्स

इस चुनौती का गो में जवाब होना चाहिए!

package main;import"fmt";func main(){a:="package main;import\"fmt\";func(%c_%[1]c)(){a:=%q;fmt.Printf(a,94,a)}";fmt.Printf(a,94,a)}

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


3

जावास्क्रिप्ट (ईएस 6), 91 बाइट्स

पहले से ही एक जावास्क्रिप्ट जवाब है, लेकिन एक गैर-स्रोत-पढ़ने वाला जेएस जवाब नहीं है:

a="a=%s;co%s.log(a,uneval(a),`(${'^'}_${'^'})`)";console.log(a,uneval(a),`(${'^'}_${'^'})`)

यह गोल्फ के लिए मेरे गैर-स्रोत-पढ़ने के जवाब पर आधारित है जो आपको बहुत अच्छा लगता है! । आउटपुट

a="a=%s;co%s.log(a,uneval(a),`(${'^'}_${'^'})`)";co(^_^).log(a,uneval(a),`(${'^'}_${'^'})`)

यह आसानी %sसे स्ट्रिंग में दूसरे के चारों ओर घूमकर संशोधित किया जा सकता है । उदाहरण के लिए,

a="a=%s;console.log(a,uneval(a),`($%s_${'^'})`)";console.log(a,uneval(a),`(${'^'}_${'^'})`)

आउटपुट

a="a=%s;console.log(a,uneval(a),`($%s_${'^'})`)";console.log(a,uneval(a),`($(^_^)_${'^'})`)

2

जेली , 22 बाइट्स

“4094959441b³ỌØV”ṘVabc

TryItOnline पर उपलब्ध है

बिल्ट-इन पेलोड सक्षम क्वीन “ØV”ṘV
का उपयोग करता है। abcअंत में बस फिलर को प्रतिस्थापित किया जाना है
, पूर्णांक को आधार 100 में रूपांतरित किया जाता है, जिसके परिणामस्वरूप [40,94,95,94,41]
वर्णों को बनाया जाता है, जिसके परिणामस्वरूप (^_^)
संपूर्ण परिणाम होता है“4094959441b³ỌØV”(^_^)


2

सी # 5.0, 715 बाइट्स

मुझे पता है, यह बहुत बड़ा है। बस C # समाधान जोड़ना चाहता था।

/*^()_*/using System.CodeDom;namespace System{class P{static void Main(){var b="/*^()_*/using System.CodeDom;namespace System{{class P{{static void Main(){{var b={0};var f=new string(new[]{{b[3],b[2],b[5],b[2],b[4]}});var w=new IO.StringWriter();CodeDom.Compiler.CodeDomProvider.CreateProvider(\"CSharp\").GenerateCodeFromExpression(new CodePrimitiveExpression(b),w,null);Console.WriteLine(b.Replace(\"[4]}}}}}}}}\",f),w);Console.ReadKey();}}}}}}";var f=new string(new[]{b[3],b[2],b[5],b[2],b[4]});var w=new IO.StringWriter();CodeDom.Compiler.CodeDomProvider.CreateProvider("CSharp").GenerateCodeFromExpression(new CodePrimitiveExpression(b),w,null);Console.WriteLine(b.Replace("[4]}}}}",f),w);Console.ReadKey();}}}

आउटपुट है:

/*^()_*/using System.CodeDom;namespace System{class P{static void Main(){var b="/*^()_*/using System.CodeDom;namespace System{{class P{{static void Main(){{var b={0};var f=new string(new[]{{b[3],b[2],b[5],b[2],b[4]}});var w=new IO.StringWriter();CodeDom.Compiler.CodeDomProvider.CreateProvider(\"CSharp\").GenerateCodeFromExpression(new CodePrimitiveExpression(b),w,null);Console.WriteLine(b.Replace(\"[4]}}}}}}}}\",f),w);Console.ReadKey();}}}}}}";var f=new string(new[]{b[3],b[2],b[5],b[2],b[4]});var w=new IO.StringWriter();CodeDom.Compiler.CodeDomProvider.CreateProvider("CSharp").GenerateCodeFromExpression(new CodePrimitiveExpression(b),w,null);Console.WriteLine(b.Replace("(^_^)}}",f),w);Console.ReadKey();}}}

Ideone.com पर उपलब्ध है


1

MATL , 14 बाइट्स

')_`_*i't&Dwqh

उत्पादन करता है ')_`_*i'(^_^)h

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

व्याख्या

')_`_*i'  % Push this string
t&D       % Duplicate and get string representation (i.e. enclose with quotes)
w         % Swap
q         % Subtract 1. Transforms ')_`_*i' into the code points of '(^_^)h'
h         % Concatenate. Automatically casts code points to chars. Implicitly display

1
एक रानी पर मेरा पहला प्रयास!
लुइस मेंडो

1

बैश, 178 बाइट्स

Q='#(8_8)
printf "Q=\47"
echo -n "$Q"|sed -r "s~(_|\()8~\1^~g"
echo -e "\x27"
tail<<<"$Q" -n4'
printf "Q=\47"
echo -n "$Q"|sed -r "s~(_|\()8~\1^~g"
echo -e "\x27"
tail<<<"$Q" -n4

Pfff, मैं quines में अच्छा नहीं हूँ: / यह गोल्फ से अधिक किसी भी सुझाव का स्वागत से अधिक है! :-)

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