एक और कार्यक्रम और मैं बाहर हूँ!


21

एक सकारात्मक पूर्णांक नेस्टिंग स्तर को देखते हुए nऔर स्ट्रिंग sप्रिंट योग्य ASCII वर्ण (के लिए ~, उत्पादन एक।। कार्यक्रम, जो जब एक ही भाषा में चलाने के लिए, एक प्रोग्राम है जो एक कार्यक्रम आउटपुट आउटपुट। जो स्ट्रिंग आउटपुट s

कुल nकार्यक्रमों को उत्पन्न किया जाना चाहिए, जिनमें से सभी को आपके उत्तर के रूप में उसी भाषा में चलाया जाना चाहिए।

नोट: आप प्रोग्राम या फ़ंक्शंस का उत्पादन कर सकते हैं - कुछ भी जिसे आप डिफ़ॉल्ट रूप से एक सबमिशन के रूप में अनुमति देते हैं।

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


उदाहरण

उदाहरण के लिए, दिया गया n=1और s="recursion", पायथन 2 प्रोग्राम आउटपुट कर सकता है:

print "recursion"

यह चल रहा है उत्पादन होगा:

recursion

दिया n=2और s = "PPCG", पायथन 2 प्रोग्राम आउटपुट कर सकता है:

print "print \"PPCG\" "

इस आउटपुट को चलाना:

print "PPCG"

इस आउटपुट को चलाना:

PPCG

संबंधित (+ शीर्षक प्रेरणा): एक और LUL और मैं बाहर हूँ

इसके अलावा संबंधित (सैंडबॉक्स में - अब हटा दिया गया है, लेकिन अभी भी पर्याप्त प्रतिष्ठा के साथ देखा जा सकता है): स्रोत कोड पुनरावर्तन

परीक्षण के मामलों

सुनिश्चित करें कि आपका कोड निम्नलिखित परीक्षण मामलों (प्रति पंक्ति एक) के लिए काम करता है:

n s
2 PPCG
4 Robert'); DROP TABLE Students;--
17 Deep
2 Spaces In Here
3 "Don't forget quotes!"
5 'Backt`cks might be a h`tch'
6 5%s
8 [Brackets]<Are>(Great){Usually}
3 !"#$%&'()*+,-./ 0123456789:;<=>?@ABCDEFGHIJKLMN
6 OPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~
7 THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG
3 the quick brown fox jumps over the lazy dog
code-golf  recursion  code-golf  kolmogorov-complexity  board-game  code-golf  number-theory  polynomials  code-golf  code-golf  array-manipulation  polyglot  alphabet  answer-chaining  code-golf  sequence  math  atomic-code-golf  abstract-algebra  proof-golf  code-golf  internet  code-golf  internet  code-golf  ascii-art  kolmogorov-complexity  code-golf  math  ascii-art  number  integer  code-golf  decision-problem  binary-matrix  code-golf  number  sequence  number-theory  code-golf  math  decision-problem  matrix  abstract-algebra  code-golf  string  keyboard  code-golf  fractal  code-golf  math  sequence  combinatorics  hello-world  vim  code-golf  sequence  code-golf  graphical-output  image-processing  code-golf  decision-problem  matrix  linear-algebra  code-golf  ascii-art  code-golf  math  code-golf  ascii-art  graphical-output  code-golf  string  code-golf  string  substitution  code-golf  string  ascii-art  code-golf  arithmetic  code-golf  number  array-manipulation  decision-problem  code-golf  kolmogorov-complexity  code-generation  fractal  code-golf  ascii-art  kolmogorov-complexity  code-golf  ascii-art  code-golf  string  array-manipulation  code-golf  music  code-golf  array-manipulation  code-golf  internet  stack-exchange-api  math  fastest-algorithm  code-golf  binary  bitwise  code-golf  date  code-golf  string  code-golf  sequence  integer  code-golf  arithmetic  number-theory  code-golf  string  random 

1
चुनौती पढ़ रहा था और "हे, कि बहुत परिचित लग रहा है .." की तरह था, और फिर अपने सैंडबॉक्स प्रश्न के लिए अपने " भी संबंधित (सैंडबॉक्स में): स्रोत कोड प्रेरणा " देखा। :) मैं अपना प्रश्न अभी के लिए वहीं छोड़ दूंगा, लेकिन कुछ हफ़्ते बाद इसे हटा दूंगा। आपका मूल रूप से एक ही है, एक पूर्णांक पैरामीटर के अलावा को छोड़कर।
केविन क्रूज़सेन

1
जैसा कि यहां बताया गया है , क्या कार्यक्रमों के बजाय अनाम कार्यों को वापस करने की अनुमति है?
अरनुलद

1
क्या "सकारात्मक पूर्णांक" शामिल है 0?
फेलिक्स पालमेन

1
क्या आपने एक कारण के लिए कार्यक्रम चुना? डिफ़ॉल्ट फ़ंक्शन या प्रोग्राम है? क्या किसी फ़ंक्शन को फ़ंक्शन करने की अनुमति है?
केविन क्रूज़सेन

1
@StewieGriffin क्योंकि उप-अभिव्यक्तियों या नेस्टेड प्रोग्राम्स में भाग लेने से समस्या हो सकती है (और किसी ने सैंडबॉक्स में उद्धरण परीक्षण के मामलों के लिए कहा है)।
अग्निशमन 241

जवाबों:


19

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

Ṿ¡

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

Ṿ¡  Main link; left argument (text) is x, right argument (repetitions) is y
 ¡  Repeat y times:
Ṿ   Uneval x; produce code that outputs x

हे बिलियन


यह टूट गया है, "हाय" हाय पैदा करता है, "हाय" नहीं
ताहग

10
@Tahg जेली इनपुट को स्वचालित रूप से पायथन कोड के रूप में मूल्यांकन किया जाता है अगर यह एक त्रुटि नहीं फेंकता है। यदि ऐसा होता है, तो यह सिर्फ एक स्ट्रिंग है। '"hi"'अपेक्षित परिणाम देखने के लिए आपको करना होगा
HyperNeutrino

19

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

सहेजे गए 3 बाइट्स @HermanLauenstein का धन्यवाद

करी सिंटैक्स में इनपुट लेता है (n)(s)

n=>g=s=>`alert(atob("${btoa(--n?g(s):s)}"))`

उदाहरण

f(2)('PPCG')

उत्पादन होगा:

'alert(atob("YWxlcnQoYXRvYigiVUZCRFJ3PT0iKSk="))'

जो प्रिंट करेगा:

'alert(atob("UFBDRw=="))'

जो प्रिंट करेगा:

'PPCG'

डेमो

एक अधिक जटिल उदाहरण जहां alert()ओवरराइड किया गया है ताकि मध्यवर्ती परिणाम कंसोल पर मुद्रित हो और स्वचालित रूप से निष्पादित हो।


वैकल्पिक संस्करण, 40 बाइट्स

@ झूला द्वारा सुझाया गया

यह एक पूर्ण कार्यक्रम के बजाय एक अनाम फ़ंक्शन देता है।

n=>g=s=>`_=>atob("${btoa(--n?g(s):s)}")`

क्या आप अनाम फ़ंक्शन का उपयोग करने के बजाय वापस लौट सकते हैं alert? 41 बाइट्स
झबरा

@ शैगी मैं वास्तव में नहीं जानता। मैंने ओपी से पूछा है।
अरनुलद

यदि नहीं, तो शायद आप 45 बाइट्स के बदले IIFE से दूर हो सकते हैं।
झबरा

-3 बाइट्स करींग का उपयोग करके: n=>g=s=>BTalert(atob("${btoa(--n?g(s):s)}"))BT(बीटी को बैकटीक्स से बदलें)
हरमन एल

@HermanLauenstein धन्यवाद! :)
अरनुलद

10

श + कोरुटिल्स, 31 बाइट्स

yes exec sed 1d \$0|sed $1q;cat

nएक कमांड-लाइन पैरामीटर और sएसटीडीआईएन पर ले जाता है ।


8
यह कोड कहता है: "हां, आपको निश्चित रूप से मुझे निष्पादित करना होगा।"
RedClover

क्या आप एक स्पष्टीकरण जोड़ सकते हैं? मुझे यह काम करने में परेशानी हो रही है
जोशराज

1
@JoshRagem yesबार-बार अपनी कमांड लाइन को प्रिंट करता है, जो exec sed 1d $0( $एक शेल मेटाचैकर है इसलिए इसे उद्धृत किया जाना है)। (यानी ) लाइनों के sed $1qबाद मुद्रण बंद हो जाता है । फिर इनपुट स्ट्रिंग को कॉपी करता है। परिणामी फ़ाइल एक स्क्रिप्ट है जो शेल को मापदंडों की एक प्रति और स्क्रिप्ट के फ़ाइल नाम के साथ खुद को बदलने के लिए कहती है । फिर फ़ाइल की पहली पंक्ति को छोड़ देता है और बाकी आउटपुट करता है। प्रत्येक स्क्रिप्ट में एक कम उपसर्ग होता है, जब तक कि निष्पादन के बाद केवल मूल इनपुट मुद्रित होता है। $1ncatshsed1dsedexec sed 1d $0n
नील


5

हास्केल, 17 बाइट्स

जब मैं इसे लिखता हूं, यह एक गैर-गोल्फिंग-विशिष्ट भाषा के लिए सबसे छोटा जवाब है ।

यह एक समारोह जो लेता है sऔर nइसी क्रम में, और परिणाम या एक अभिव्यक्ति, जो जब मूल्यांकन किया, अगले स्रोत कोड रिटर्न के स्रोत कोड देता है।

(!!).iterate show

यह क्यों मायने रखता है के लिए तर्क:

  1. समाधान कार्यों के लिए अनुमति दी जाती है।
  2. उनके आउटपुट को कार्य करने की अनुमति है।
  3. उन कार्यों का कोई पैरामीटर नहीं है।
  4. हास्केल में, चूंकि यह आलसी है और सब कुछ है-क्यूरेड, सबसे प्राकृतिक - व्यावहारिक प्रोग्रामिंग प्रयोजनों के लिए - 0-पैरामीटर फ़ंक्शन की परिभाषा इसके परिणाम के समान है; निकटतम विकल्प, 1-पैरामीटर फ़ंक्शन जो पैरामीटर को अनदेखा करता है, मूर्खतापूर्ण है।

यदि fदिया गया है PPCGऔर 2इसके मापदंडों के रूप में, परिणाम पाठ "\"PPCG\""(पहला उत्पन्न फ़ंक्शन) है, जिसका मूल्यांकन किया जाता है जब पाठ "PPCG"(दूसरी उत्पन्न funtion), और जब इसका मूल्यांकन किया जाता है तो यह रिटर्न देता है PPCG

छोटा करने का सुझाव देने के लिए निम्मी को धन्यवाद ।


हास्केल में कोई तर्क के साथ कार्यों के मुद्दे पर एक प्रासंगिक मेटा प्रश्न है, हालांकि यह अभी तक बहुत ध्यान नहीं मिला है और अभी भी खुले प्रश्न हैं: codegolf.meta.stackexchange.com/q/12924/56433
Laikoni

3

APL (Dyalog) , 24 23 बाइट्स

-1 ngn के लिए धन्यवाद।

यह एक पूर्ण कार्यक्रम है जो एसटीडीयूएसटी के लिए sऔर फिर nप्रिंट करता है।

''''{⍺,⍨⍺,⍵/⍨1+⍵=⍺}⍣⎕⊢⍞

इसे ऑनलाइन आज़माएं! (17 डीप केस छोड़ा गया है क्योंकि यह TIO की आउटपुट सीमा से अधिक है - ऑफ़लाइन काम करता है)

के लिए शीघ्र s

 (अलग करने के लिए उपज है कि और )

''''{... }⍣⎕ शीघ्र के लिए nऔर छोड़ दिया तर्क है कि कई बार के रूप में एक एकल उद्धरण के साथ इस लैम्ब्डा लागू होते हैं। बाएं तर्क (उद्धरण) के लिए खड़ा है और सही तर्क के लिए खड़ा है (इनपुट पाठ):

⍵=⍺ बूलियन जहां पाठ एक उद्धरण के बराबर है

1+ एक जोड़ें

⍵/⍨ तर्क के प्रत्येक चरित्र को इसी समय की संख्या को दोहराएं

⍺, एक उद्धरण प्रस्तुत करें

⍺,⍨ एक उद्धरण जोड़ें

यह काम करता है क्योंकि APL में स्ट्रिंग्स को 'सीमांकित किया जाता है और स्ट्रिंग्स में सिंगल-कोट्स को दोगुना कर दिया जाता है, जबकि अन्य वर्णों को भागने की आवश्यकता नहीं होती है।


डायलॉग एपीएल भी एक उपयोगिता ( ⎕SE.Dyalog.Utils.repObj) के साथ जहाज बनाता है जो एपीएल अभिव्यक्ति उत्पन्न करता है जो इसके तर्क का मूल्यांकन करता है ( जेली के असमान के समान )। इसलिए निम्न प्रोग्राम उपरोक्त के बराबर है, लेकिन सभी सरणियों के लिए काम करता है :

SE.Dyalog.Utils.repObj⍣⎕⊢⎕

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


मुझे लगता है कि APLX "दोगुनी" और साथ ही 'एकल-उद्धृत' तार की अनुमति देता है। यदि बाकी वहां काम करता है, तो आप एक बाइट :) ngn / apl को बचा सकते हैं, लेकिन मैंने हाल ही में हटा दिया ""
ngn

उद्धरण के रूप में पारित करने पर विचार करें - कि एक बाइट बचाता है (कम से कम)।
ngn

@ धन्यवाद, लेकिन APLX dfns नहीं है। NARS2000 में डबल-कोट्स और dfns दोनों हैं, लेकिन पात्रों में दो बाइट्स हैं।
आदम

2

फ़ायरफ़ॉक्स जावास्क्रिप्ट, 41 35 बाइट्स

f=(s,n)=>"_=>"+uneval(--n?f(s,n):s)

फ़ायरफ़ॉक्स में एक अच्छा है uneval, जो ऐसा लगता है - इस मामले में - किसी दिए गए ऑब्जेक्ट को unevals - स्ट्रिंग।


2

जावा 8, 95 93 बाइट्स

String c(String s,int n){return"v->\""+(n-->1?c(s,n).replaceAll("[\\\\\"]","\\\\$0"):s)+'"';}

-2 बाइट्स @ लियन को धन्यवाद ।

जावा में विशेष पात्रों से बचना बहुत कष्टप्रद है ।।

इसे यहाँ आज़माएँ और यहाँ जिसके परिणामस्वरूप विधि का प्रयास

स्पष्टीकरण:

String c(String s,int n){  // Method with String and int parameters and String return-type
  return"v->\""+           //  Return literal "v->" + a leading double-quote +
   (n-->1?                 //   If `n` is larger than 1:
     c(s,n)                //    Recursive-call,
      .replaceAll("[\\\\\"]","\\\\$0")
                           //    with all double-quotes ('"') and slashes ('\') escaped
    :                      //   Else:
     s)                    //    The input String
   +'"';                   //   + a trailing double quote
}                          // End of method 

रेगेक्स प्रतिस्थापन के लिए अतिरिक्त स्पष्टीकरण:

.replaceAll("[\\\\\"]","\\\\$0")
.replaceAll("        ","      ")  // Replace the match of the 1st String, with the 2nd
             [      ]             //  One of these inner characters:
              \\\\                //   Escaped slash ('\')
                  \"              //   Escaped double-quote ('"')
                                  //  And replace them with:
                        \\\\      //   Escaped slash ('\'),
                            $0    //   plus found match

ये सब स्लैश क्यों?

\   →  \\       // Escapes a single slash for the regex
\\  →  \\\\     // Escapes both regex-escaped slashes for the String
"   →  \"       // Escapes a double-quote for the String

1
मुझे नहीं लगता कि आपको "रेगेक्स चरित्र वर्ग में भागने की ज़रूरत है , इसलिए \\\\\"(पांच बैकस्लैश) ठीक होना चाहिए।
लिन

2

अंडरलोड , 11 बाइट्स

(a(S)*)~^^S

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

इनपुट को स्टैक पर शुरू करने की आवश्यकता है, एक चर्च अंक के रूप में शीर्ष पर संख्या के साथ । मुझे नहीं पता कि यह एक वैध इनपुट विधि है, लेकिन विनिर्देश में कोई इनपुट नहीं है, और इनपुट को स्टैक के शीर्ष पर रखने से ऐसा लगता है जैसे कि ऐसी भाषाओं में उपयोग किया गया है।



1

QuadR , 8 बाइट्स

का सरल अनुवाद Ngn's answer का

nतर्क के रूप में और sइनपुट के रूप में लेता है ।

^|'|$
'&

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

पीसीआर आर के सभी उदाहरणों eplace

^|'|$ लाइन की शुरुआत या उद्धरण या पंक्ति का अंत

'& एक उद्धरण और पूरे मैच के साथ

तर्क निर्दिष्ट करता है कि परिवर्तन को दोहराने के लिए कितनी बार।


आह, अब मुझे पता है कि वह भाषा क्या है :)
ngn

1

आर , 62 बाइट्स

f=function(n,s){"if"(n,{formals(f)$n=n-1;formals(f)$s=s;f},s)}

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

इसे ऐसे कॉल करें: f(n,s)इसके बादn की प्रतियां()

एक नामित फ़ंक्शन; एक अनाम फ़ंक्शन देता है। सभी यह करता है के मूलभूत मूल्यों को संशोधित है formalsकी fअनुमति देता है जिसके परिणामस्वरूप समारोह (और उसके बाद कहा जाता है कि, के परिणाम के नाम से जाना nबार)। जब nपहुंचता है 0, लौटता हैs

आर वास्तव में भागने में बहुत बुरा नहीं है! यह सी-स्टाइल से बचने का उपयोग करता है, इसलिए आपको बस इनपुट लेना होगा, प्रतिस्थापित करना होगा" के साथ \"और \साथ \\, और उसके बाद में पूरी बात लपेट " "





0

एक्सेल VBA (32-बिट), 67 बाइट्स

संस्करण 32-बिट एक्सेल VBA के लिए प्रतिबंधित है क्योंकि 2^i 32-बिट VBA में त्रुटि के बिना मूल्यांकन होता है, लेकिन 64-बिट VBA में नहीं

बेनामी VBE तत्काल खिड़की समारोह है कि आदानों लेता है nऔर sसीमाओं से से [A1]और [B1]और आउटपुट को उस अज्ञात फ़ंक्शन जब केवल एक टर्मिनल के लिए नीचे का मूल्यांकन (के बाद nकेवल पुनरावृत्तियों) आउटपुट sकि टर्मिनल के रूप में

For i=0To[A1-1]:q=q+"?"+String(2^i,34):Next:?q[B1]Replace(q,"?","")

नमूना इनपुट / आउटपुट

[A1:B1]=Array(7, "PPCG")
For i=0To[A1-1]:q=q+"?"+String(2^i,34):Next:?q[B1]Replace(q,"?","")
?"?""?""""?""""""""?""""""""""""""""?""""""""""""""""""""""""""""""""?""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""PPCG"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
?"?""?""""?""""""""?""""""""""""""""?""""""""""""""""""""""""""""""""PPCG"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
?"?""?""""?""""""""?""""""""""""""""PPCG"""""""""""""""""""""""""""""""
?"?""?""""?""""""""PPCG"""""""""""""""
?"?""?""""PPCG"""""""
?"?""PPCG"""
?"PPCG"
PPCG
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.