আরও একটি প্রোগ্রাম এবং আমি আউট!


21

একটি ইতিবাচক পূর্ণসংখ্যার নেস্টিং স্তর nএবং sমুদ্রণযোগ্য আসকি অক্ষরগুলির স্ট্রিং দেওয়া ( যাতে ~, কোনও প্রোগ্রাম আউটপুট দেয় যা একই ভাষায় চালিত হয়, এমন একটি প্রোগ্রাম আউটপুট দেয় যা একটি প্রোগ্রামকে আউটপুট দেয় ... যা স্ট্রিংকে আউটপুট দেয় s

মোট মোট nপ্রোগ্রাম উত্পন্ন করা উচিত, এগুলির সবগুলিই আপনার উত্তর হিসাবে একই ভাষায় চালানো উচিত।

দ্রষ্টব্য: আপনি প্রোগ্রাম বা ফাংশনগুলি আউটপুট করতে পারেন - যে কোনও কিছুই আপনাকে জমা হিসাবে ডিফল্টরূপে অনুমোদিত।

আপনি sপালানো অক্ষরগুলির সাথে ইনপুট করতে পারেন , কীভাবে আপনার ভাষায় কোনও প্রোগ্রাম বা ফাংশন সাধারণত কোনও স্ট্রিং ইনপুট করে।


উদাহরণ

উদাহরণস্বরূপ, প্রদত্ত n=1এবং s="recursion", একটি পাইথন 2 প্রোগ্রাম আউটপুট দেয়:

print "recursion"

এটি চালানো আউটপুট হবে:

recursion

দেওয়া n=2এবং এস = "পিপিসিজি", পাইথন 2 প্রোগ্রাম আউটপুট দেয়:

print "print \"PPCG\" "

এই ফলাফলগুলি চালানো:

print "PPCG"

এই ফলাফলগুলি চালানো:

PPCG

সম্পর্কিত (+ শিরোনাম অনুপ্রেরণা): আরও একটি এলইউএল এবং আমি বাইরে আছি

এছাড়াও সম্পর্কিত (স্যান্ডবক্সে - এখন মুছে ফেলা হয়েছে, তবে এখনও যথেষ্ট সুনামের সাথে দেখা যেতে পারে): উত্স কোড পুনরাবৃত্তি

পরীক্ষার মামলা

আপনার কোডটি নিম্নলিখিত পরীক্ষার ক্ষেত্রে (প্রতি লাইনে একটি) কাজ করে তা নিশ্চিত করুন:

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
চ্যালেঞ্জটি পড়ছিলেন এবং "আরে, এটি খুব পরিচিত দেখাচ্ছে" "এর মতো ছিল এবং তারপরে আমার স্যান্ডবক্স প্রশ্নের আপনার" এছাড়াও সম্পর্কিত (স্যান্ডবক্সে): উত্স কোড অনুপ্রেরণা "লক্ষ্য করেছে। :) আমি আমার প্রশ্নটি আপাতত সেখানে রেখে দেব, তবে কয়েক সপ্তাহ পরে এটি মুছে ফেলব। আপনার পূর্ণসংখ্যা প্যারামিটার যোগ করা ব্যতীত আপনার মূলত একই is
কেভিন ক্রুইজসেন

1
এখানে যেমন পরামর্শ দেওয়া হয়েছে , প্রোগ্রামের পরিবর্তে বেনামে ফাংশনগুলি ফেরত দেওয়ার অনুমতি রয়েছে কি?
আর্নল্ড

1
"ইতিবাচক পূর্ণসংখ্যার" অন্তর্ভুক্ত 0?
ফেলিক্স Palmen

1
আপনি কোনও কারণে প্রোগ্রামটি বেছে নিয়েছেন? ডিফল্ট ফাংশন বা প্রোগ্রাম? এটি কি কোনও ফাংশন মুদ্রণ করার অনুমতি দেয়?
কেভিন ক্রুইজসেন

1
@ স্টিভিগ্রিফিন কারণ সাব-এক্সপ্রেশন বা নেস্টেড প্রোগ্রামগুলিতে পলায়ন সমস্যাযুক্ত হতে পারে (এবং কেউ স্যান্ডবক্সে উদ্ধৃতি পরীক্ষার জন্য জিজ্ঞাসা করেছেন)।
fireflame241

উত্তর:


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
@ তাগ জেলি ইনপুটটি যদি কোনও ত্রুটি না ফেলে তবে পাইথন কোড হিসাবে স্বয়ংক্রিয়ভাবে মূল্যায়ন করা হবে। যদি এটি হয়, তবে এটি কেবল একটি স্ট্রিং। আপনাকে '"hi"'প্রত্যাশিত ফলাফলটি দেখতে হবে
হাইপারনিউটারিনো

19

জাভাস্ক্রিপ্ট (ES6), 47 44 বাইট

3 বাইট সংরক্ষিত হয়েছে @ হারমানলাউনস্টাইনকে ধন্যবাদ

বাক্য গঠন সিনট্যাক্সে ইনপুট নেয় (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 বাইটের পরিবর্তে আইআইএফই দিয়ে পালাতে পারেন।
শেগি

কারিরিং ব্যবহার করে -3 বাইট: n=>g=s=>BTalert(atob("${btoa(--n?g(s):s)}"))BT(ব্যাকটিক্স দিয়ে বিটি প্রতিস্থাপন)
হারমান এল

@ হারমানলাউনস্টাইন ধন্যবাদ! :)
আর্নল্ড

10

sh + coreutils, 31 বাইট

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

লাগে nএকটি কম্যান্ড-লাইন প্যারামিটার হিসাবে এবং sstdin উপর।


8
এই কোডটি বলে: "হ্যাঁ, আপনাকে অবশ্যই আমাকে মৃত্যুদন্ড কার্যকর করতে হবে।"
রেডক্লোভার

আপনি একটি ব্যাখ্যা যোগ করতে পারেন? এটি কাজ করতে আমার সমস্যা হচ্ছে
জোশরাগেম

1
@ জোশরাগেম yesবার বার তার কমান্ড লাইনটি মুদ্রণ করে, যা এটি exec sed 1d $0(এটি $শেল মেটাচার্যাক্টর তাই এটি উদ্ধৃত করতে হবে)। (ie ) লাইনের sed $1qপরে মুদ্রণ বন্ধ করে। তারপরে ইনপুট স্ট্রিংটি অনুলিপি করে। ফলস্বরূপ ফাইলটি একটি স্ক্রিপ্ট যা শেলটিকে প্যারামিটারগুলির অনুলিপি এবং স্ক্রিপ্টের ফাইলের নামের সাথে নিজেকে প্রতিস্থাপন করতে বলে । তারপরে ফাইলটির প্রথম লাইনটি এড়িয়ে যায় এবং বাকিগুলি আউটপুট করে। প্রতিটি স্ক্রিপ্টের একটির কম উপসর্গ থাকে, মৃত্যুদন্ড কার্যকর হওয়ার পরে কেবল মূল ইনপুট মুদ্রিত না হয়। $1ncatshsed1dsedexec sed 1d $0n
নীল


5

হাস্কেল, 17 বাইট

আমি যখন এটি লিখছি ততক্ষণ এটি কোনও গল্ফিং-নির্দিষ্ট ভাষার জন্য সংক্ষিপ্ত উত্তর ।

এটি এমন একটি ফাংশন যা এই ক্রমে গ্রহণ করে sএবং nফলাফল বা একটি এক্সপ্রেশনের উত্স কোড দেয় যা মূল্যায়ন করার পরে পরবর্তী উত্স কোডটি দেয়।

(!!).iterate show

কেন এটি গণনা করা হচ্ছে তার পক্ষে যুক্তি:

  1. সমাধানগুলি ফাংশন হওয়ার অনুমতি দেওয়া হয়।
  2. তাদের আউটপুটগুলি ফাংশন হিসাবে অনুমোদিত।
  3. এই ফাংশনগুলির কোনও পরামিতি নেই।
  4. হাস্কেল-তে, যেহেতু এটি অলস এবং সবকিছু-ত্রিযুক্ত, সবচেয়ে প্রাকৃতিক - ব্যবহারিক প্রোগ্রামিংয়ের উদ্দেশ্যে - 0-প্যারামিটার ফাংশনটির সংজ্ঞা তার ফলাফল হিসাবে একই; নিকটতম বিকল্প, একটি 1-প্যারামিটার ফাংশন যা প্যারামিটারটিকে উপেক্ষা করে, সে নির্বোধ।

যদি fদেওয়া হয় PPCGএবং 2এর পরামিতি হিসাবে, ফলাফলটি হ'ল পাঠ "\"PPCG\""(প্রথম উত্পন্ন ফাংশন), যা মূল্যায়নের সময় পাঠটি "PPCG"(দ্বিতীয় উত্পন্ন মজাদার) প্রদান করে এবং যখন এটি মূল্যায়ন করা হয় এটি ফিরে আসে PPCG

ছোট করার পরামর্শ দেওয়ার জন্য নিমিকে ধন্যবাদ ।


হাস্কেলের কোনও যুক্তি ছাড়াই ফাংশনগুলির বিষয়ে একটি প্রাসঙ্গিক মেটা প্রশ্ন রয়েছে, যদিও এখনও এটি তেমন মনোযোগ পায়নি এবং এখনও খোলা প্রশ্ন রয়েছে: কোডগল্ফ.মেটা.স্ট্যাককেচেঞ্জ_এইচ
লাইকনি

3

এপিএল (ডায়ালগ) , 24 23 বাইট

-1 ngn ধন্যবাদ।

এটি একটি সম্পূর্ণ প্রোগ্রাম যা এর জন্য অনুরোধ জানায় sএবং তারপরে nSTDOUT- এ প্রিন্ট করে।

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

এটি অনলাইন চেষ্টা করুন! (17 টি ডিপ কেস বাদ দেওয়া হয়েছে কারণ এটি টিআইওর আউটপুট সীমা ছাড়িয়ে গেছে - অফলাইনে কাজ করে)

জন্য অনুরোধ জানানো s

 ফলন যে (পৃথক এবং )

''''{}⍣⎕ প্রম্পট করুন nএবং বাম আর্গুমেন্ট হিসাবে এক বারের সাথে এই লাম্বদাটি প্রয়োগ করুন বহুবার। বাম আর্গুমেন্ট (উদ্ধৃতি) এবং ডান আর্গুমেন্ট (ইনপুট পাঠ্য) এর জন্য দাঁড়িয়েছে:

⍵=⍺ বুলিয়ান যেখানে পাঠ্যটি একটি উদ্ধৃতির সমান

1+ এক যোগ কর

⍵/⍨ আর্গুমেন্টের প্রতিটি চরিত্রকে একই সময়ের সংখ্যায়িত করুন

⍺, একটি উদ্ধৃতি প্রস্তুত করুন

⍺,⍨ একটি উদ্ধৃতি সংযোজন

এটি কাজ করে কারণ এপিএলে স্ট্রিংগুলি 'সীমানাযুক্ত এবং স্ট্রিংগুলিতে একক-কোটগুলি দ্বিগুণ করা হয়েছে, অন্য কোনও অক্ষরকে পালানোর প্রয়োজন নেই।


ডায়ালগ এপিএল এমন একটি ইউটিলিটি ( ⎕SE.Dyalog.Utils.repObj) দিয়ে জাহাজও প্রেরণ করে যা একটি এপিএল এক্সপ্রেশন তৈরি করে যা তার যুক্তির সাথে মূল্যায়ন করে ( জেলি এর অব্যবস্থার মতো )। নিম্নলিখিত প্রোগ্রামটি উপরের সমতুল্য, তবে সমস্ত অ্যারেগুলির জন্য কাজ করে:

SE.Dyalog.Utils.repObj⍣⎕⊢⎕

এটি অনলাইন চেষ্টা করুন!


আমি মনে করি এপিএলএক্স "দ্বিগুণ" - পাশাপাশি 'এককভাবে উদ্ধৃত' স্ট্রিংগুলিকে অনুমতি দেয়। যদি বাকীগুলি সেখানে কাজ করে, আপনি একটি বাইট :) সংরক্ষণ করতে পারেন :) এনজিএন / এপিএল তবে আমি সম্প্রতি "" সরিয়েছি
ngn

হিসাবে উক্তিটি পাস করার কথা বিবেচনা করুন-- যা একটি বাইট সংরক্ষণ করে (কমপক্ষে)।
এনজিএন

@ এনএনজি ধন্যবাদ, তবে এপিএলএক্সের ডিফএন নেই। NARS2000 উভয় ডাবল-কোট এবং এবং dfns আছে, তবে অক্ষরগুলির জন্য দুটি বাইটের ব্যয় হয়।
Adám

2

ফায়ারফক্স জাভাস্ক্রিপ্ট, 41 35 বাইট

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

ফায়ারফক্স একটি সুন্দর আছে uneval, যা এটির মতো শোনাচ্ছে - একটি প্রদত্ত বস্তুর তুলনায় এই ক্ষেত্রে - স্ট্রিং।


2

জাভা 8, 95 93 বাইট

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

-২ বাইট @ লিনাকে ধন্যবাদ

জাভাতে বিশেষ অক্ষরগুলি ছেড়ে যাওয়া খুব বিরক্তিকর ..

এখানে চেষ্টা করুন এবং এখানে ফল পদ্ধতি চেষ্টা

ব্যাখ্যা:

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

কোয়াডআর , 8 বাইট

Ngn এর উত্তরের সহজ অনুবাদ ।

nযুক্তি হিসাবে এবং sইনপুট হিসাবে গ্রহণ করে ।

^|'|$
'&

এটি অনলাইন চেষ্টা করুন!

পিসিআরই আর এপিলেস এর সমস্ত দৃষ্টান্ত

^|'|$ লাইনের সূচনা বা উদ্ধৃতি বা লাইনের শেষ

'& একটি উদ্ধৃতি এবং পুরো ম্যাচ সহ

আর্গুমেন্টটি রূপান্তরটির পুনরাবৃত্তি করতে কতবার উল্লেখ করে।


আহ, এখন আমি জানি সেই ভাষাটি কী জন্য :)
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

এক্সেল ভিবিএ (32-বিট), 67 বাইট

সংস্করণটি 32-বিট এক্সেল ভিবিএতে সীমাবদ্ধ কারণ 2^i32-বিট ভিবিএতে ত্রুটি ছাড়াই মূল্যায়ন করা হয়, তবে 64-বিট ভিবিএতে নয়

অজ্ঞাতনামা VBE তাত্ক্ষণিক উইন্ডো ফাংশন যা ইনপুট নেয় nএবং sরেঞ্জগুলি থেকে [A1]এবং [B1]একটি বেনামি ফাংশন আউটপুট দেয় যা কেবলমাত্র টার্মিনালের ( nপুনরাবৃত্তির পরে ) আউটপুট কেবলমাত্র sসেই টার্মিনাল হিসাবে আউটপুট দেয় ated

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
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.