কোডগল্ফ: কুইন এবং এন্টিকাইন


13

এই চ্যালেঞ্জটি কি আপনি মেটা কুইনের মতো?

একটি কুইন এমন একটি প্রোগ্রাম যা STDOUT এ নিজেকে তৈরি করে। এই চ্যালেঞ্জটি হ'ল একটি প্রোগ্রাম এ উত্পাদন করা হয় যা রান যখন STDOUT এ একটি বি বি তৈরি করে। প্রোগ্রাম বি রান যখন স্টাডিআউট এ প্রোগ্রাম উত্পাদন করে। প্রোগ্রাম এ এবং বি অবশ্যই একই ভাষায় লিখতে হবে (এবং চালিত হবে)। লিঙ্কযুক্ত প্রশ্নটি এ! = বি সীমিত করে ফেলেছে এটি খুব সহজ দেখাচ্ছে। সুতরাং এই প্রশ্নের জন্য, আমরা জোর দিয়েছি A এবং B নিম্নোক্ত নিয়মগুলি ব্যবহার করে:

  1. প্রোগ্রাম এ এবং বি একই অক্ষরগুলির কোনও ব্যবহার না করে, সাদা স্থান এবং বিবৃতি বিভাজক এবং বিরামচিহ্ন অক্ষরের জন্য সংরক্ষণ করতে পারে।
  2. প্রোগ্রাম এ এবং বি অবশ্যই প্রত্যেকের অন্তত একটি অক্ষর থাকতে হবে যা শ্বেতস্থান বা বিবৃতি বিভাজক বা বিরামচিহ্ন নয়।
  3. বিধি 1 এবং 2 এর উদ্দেশ্যে, 'হোয়াইটস্পেস' শব্দটি প্রতীকগুলির কোনও চিহ্ন বা ক্রমকে বাদ দেয় যা নিজেই একটি বিবৃতি, অপারেটর বা প্রতীক যা ব্যাখ্যা করা হয় (বিভাজনের বিপরীতে)। তাই হোয়াইটস্পেসের ভাষায়, কোনও সাদা স্থান নেই is
  4. একটি বিবৃতি বিভাজক একটি বাক্য গঠন উপাদান যা প্রচলিতভাবে ভাষার মধ্যে পৃথক বিবৃতি পৃথক করতে ব্যবহৃত হয়। এর মধ্যে পাইথনে নিউলাইন, বা জাভা, পার্ল বা সি-এর অর্ধিকোলন অন্তর্ভুক্ত থাকবে
  5. একটি যতি চিহ্ন একটি ASCII অক্ষর যা ত্ত হোয়াইটস্পেস কিংবা POSIX শব্দ অক্ষর শ্রেণিতে (ie একটি আন্ডারস্কোর এই কাজের জন্য যতিচিহ্ন নয়) হয় - অর্থাৎ ispunct()সত্য ফিরে আসবে, এবং এটা না _
  6. প্রোগ্রাম এ রান করার সময় অবশ্যই এটির এসটিডিআউটে একটি প্রোগ্রাম (প্রোগ্রাম বি) তৈরি করতে হবে যা চালু হওয়ার পরে প্রোগ্রাম এ তৈরি করে A.
  7. প্রোগ্রাম এ এবং বি একই প্রোগ্রামিং ভাষায় হতে হবে।
  8. ব্যবহৃত প্রোগ্রামিং ভাষাটি অবশ্যই একটি প্রোগ্রামিং ভাষা হতে হবে। আপনি যদি অন্যথায় ভাল কেস না করেন তবে আমি প্রস্তাব দেব এটি অবশ্যই ট্যুরিং সম্পূর্ণ হবে।
  9. A এবং B এর কমপক্ষে একটিকে অবশ্যই ভাষার মধ্যে কমপক্ষে একটি বিবৃতি কার্যকর করতে হবে।

এটি কোড গল্ফ, তাই সংক্ষিপ্ত উত্তরটি জিতে যায়, স্কোরটি বাইটে প্রোগ্রাম এ এর ​​দৈর্ঘ্য (মানে প্রোগ্রাম বি এর দৈর্ঘ্য প্রাসঙ্গিক নয়)।


আপনি কি দয়া করে প্রথম ধারাটিতে ব্যতিক্রমের তালিকায় "বিরামচিহ্ন" যুক্ত করতে পারেন? অন্যথায় অন্য ভাষায় এই কাজটি সমাধান করা অসম্ভব (বিশেষত যেগুলি আপনাকে প্রধান কার্যে কোঁকড়া ধনুর্বন্ধনী প্রয়োজন)।
FUZxxl

সম্পর্কিত তবে সম্ভবত যথেষ্ট আলাদা।
মার্টিন ইন্ডার

@FUZxxl আমি বিরাম চিহ্নগুলির অনুমতি পেয়েছি তবে আন্ডারস্কোরগুলি বাদ দিয়েছি।
16:38

1
এখানে উদ্দেশ্যে, Aএবং aবিভিন্ন "অক্ষর" বিবেচনা করা হয়?
হোস্টাইলফোর্ক বলেছেন, এস ই

1
বিধি 5 এর সাথে মেলে এমন ASCII চরিত্রগুলির একটি সম্পূর্ণ তালিকা সরবরাহ করা ভাল হলে ভাল হবে
Aditsu প্রস্থান করুন কারণ SE ইভিএল

উত্তর:


5

গল্ফস্ক্রিপ্ট, 13 বাইট

1{\~\".~"}.~

আউটপুট হয়

-2{\~\".~"}.~

যা প্রাথমিক প্রোগ্রাম উত্পন্ন করে।

বাইট গণনাটিতে পিছনের এলএফ অন্তর্ভুক্ত রয়েছে, যেহেতু আউটপুট আউটপুট এতে অন্তর্ভুক্ত থাকবে।

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

কিভাবে এটা কাজ করে

1       # Push 1.
{       # Start code block.
  \~\   # Apply logical NOT to the second topmost element of the stack.
  ".~"  # Push that string.
}       # End code block.
.~      # Duplicate the code block and execute the copy.

গল্ফস্ক্রিপ্ট সমাপ্তির পরে স্ট্যাকের সামগ্রীগুলি মুদ্রণ করে।


দয়া করে সমস্যার বিবৃতিটি আবার পড়ুন -Programs A and B may not use any of the same characters, save for whitespace and statement separators, and punctuation characters.
isaacg

1
সবকিছু কিন্তু 1এবং 2যতিচিহ্ন হয়।
ডেনিস

ঠিক আছে, আমি শেষ বার পড়ার পরে নিয়মগুলি পরিবর্তন করা হয়েছিল।
isaacg

হ্যাঁ, এটি কাজ করে। আমি বিবৃতি হিসাবে হোয়াইটস্পেস ব্যবহার করা রোধ করার জন্য নিয়মগুলি বানিয়েছি, তবে ভুলে গিয়েছি একই ফাঁক বিরামচিহ্নের জন্য উপস্থিত থাকবে। তাই ফাঁকফুল আইনত শোষিত।
18:58

14

পাস্কাল (1৩১ টি অক্ষর)

প্রোগ্রাম এ:

program s;{$h+}uses sysutils;const p='program s;{$h+}uses sysutils;const p=';a='a';aa=''';';aaa='a=''';aaaa='''';aaaaa='begin write(lowercase(p+aaaa+p+aa+aaa+a+aa+a+aaa+aaaa+aa+aa+a+a+aaa+aaa+aaaa+aa+a+a+a+aaa+aaaa+aaaa+aa+a+a+a+a+aaa+stringreplace(stringreplace(stringreplace(stringreplace(aaaaa,aaaa,aaaa+aaaa,[rfreplaceall]),''lower''+''c'',''tm''+''p'',[]),''up''+''c'',''lower''+''c'',[]),''tm''+''p'',''up''+''c'',[])+aa+aaaaa))end.';begin write(upcase(p+aaaa+p+aa+aaa+a+aa+a+aaa+aaaa+aa+aa+a+a+aaa+aaa+aaaa+aa+a+a+a+aaa+aaaa+aaaa+aa+a+a+a+a+aaa+stringreplace(stringreplace(stringreplace(stringreplace(aaaaa,aaaa,aaaa+aaaa,[rfreplaceall]),'lower'+'c','tm'+'p',[]),'up'+'c','lower'+'c',[]),'tm'+'p','up'+'c',[])+aa+aaaaa))end.

আউটপুট প্রোগ্রাম বি:

PROGRAM S;{$H+}USES SYSUTILS;CONST P='PROGRAM S;{$H+}USES SYSUTILS;CONST P=';A='A';AA=''';';AAA='A=''';AAAA='''';AAAAA='BEGIN WRITE(UPCASE(P+AAAA+P+AA+AAA+A+AA+A+AAA+AAAA+AA+AA+A+A+AAA+AAA+AAAA+AA+A+A+A+AAA+AAAA+AAAA+AA+A+A+A+A+AAA+STRINGREPLACE(STRINGREPLACE(STRINGREPLACE(STRINGREPLACE(AAAAA,AAAA,AAAA+AAAA,[RFREPLACEALL]),''LOWER''+''C'',''TM''+''P'',[]),''UP''+''C'',''LOWER''+''C'',[]),''TM''+''P'',''UP''+''C'',[])+AA+AAAAA))END.';BEGIN WRITE(LOWERCASE(P+AAAA+P+AA+AAA+A+AA+A+AAA+AAAA+AA+AA+A+A+AAA+AAA+AAAA+AA+A+A+A+AAA+AAAA+AAAA+AA+A+A+A+A+AAA+STRINGREPLACE(STRINGREPLACE(STRINGREPLACE(STRINGREPLACE(AAAAA,AAAA,AAAA+AAAA,[RFREPLACEALL]),'LOWER'+'C','TM'+'P',[]),'UP'+'C','LOWER'+'C',[]),'TM'+'P','UP'+'C',[])+AA+AAAAA))END.

আউটপুট প্রোগ্রাম এ।


3
আমি কেস অনুবাদটির (ভুল) ব্যবহার উপভোগ করছি।

11

ROT13 ( নিয়ম আপডেটের পরে আর প্রতিযোগিতা নয় )

এটি ভাষা হিসাবে গণ্য হয়েছে কিনা তা নিশ্চিত নই, তবে আমি অবশ্যই এটিকে চ্যালেঞ্জের জন্য প্রস্তুত করিনি। সাধারণত নির্দিষ্ট কিছু ইউটিলিটির জন্য উত্তরগুলিও sedগ্রহণ করা হয়। যাইহোক, এটি একটি রায় কল, সুতরাং যদি এটি গণনা না করে আমি এটিকে সরিয়ে দেব (কোন ভাষাতে কোথাও কোনও মেটা আলোচনা রয়েছে? সম্পাদনা: এখন আছে )

A

Aএবং এর মধ্যে চক্র N:

~>> echo "A" | rot13
N
~>> echo "A" | rot13 | rot13
A

আমি মনে করি এটি কার্যকর হয় না, কারণ রট 13 কেবল ইনপুট নিচ্ছে STDIN, কোনও প্রোগ্রাম চালাচ্ছে না। আপনি যদি তর্ক করছেন যে এটি একটি শূন্য দৈর্ঘ্যের প্রোগ্রাম, এটি বিধি 2 পূরণ করতে ব্যর্থ। প্রোগ্রামটি (সহ sed) যা পাস হয়েছে তা sed -e। যদি এটি গ্রহণযোগ্য হয়, তবে catএটি একটি কুইন হবে, এবং tacএকটি কোয়াইন এবং পুরাকীর্তি হবে। যাইহোক, কিছুই উত্স উত্পাদন করে না cat, tacবা এই বিষয়টি জন্য rot13

@ অলিগ যদি রট 13 ভাষা ব্যবহার করা হয় তবে আমাকে কেন রোট 13 এর উত্স কোড মুদ্রণ করতে হবে? এছাড়াও, যদি আমি গল্ফস্ক্রিপ্ট, পাইথন বা অন্য কোনও কিছু চালনা করি তবে আমি সম্ভবত উত্স কোডটি স্টিডিন বা ফাইলের মাধ্যমে দিয়ে দেব, সুতরাং কোনও পার্থক্য নেই। এই ক্ষেত্রে পচা 13 হ'ল দোভাষী।
ইনগো বার্ক

rot13যেহেতু একটি প্রোগ্রামিং ল্যাঙ্গুয়েজ 'প্রোগ্রামিং ল্যাঙ্গুয়েজ' এর কোনও যুক্তিসঙ্গত সংজ্ঞা মেটাতে দেখা যায় না এবং এটি কোনওোকিছুই ব্যাখ্যা করে না। আমি আরও পরিষ্কার করার জন্য প্রশ্নটি সংশোধন করব।

আমার সাথে ভাল. আমি এই উত্তরটি আর প্রতিদ্বন্দ্বিতা না করে ছেড়ে দেব এবং একটি মেটা আলোচনা শুরু করব। ভাল চ্যালেঞ্জ, যাইহোক। "আসল" সমাধানগুলি দেখার জন্য অপেক্ষা করতে পারি না!
ইনগো বার্ক
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.