মেটা কুইন চেকার


10

এই চ্যালেঞ্জটি, আপনি যদি এটি গ্রহণ করেন তবে তা হ'ল তিনটি ফাংশন বা প্রোগ্রাম এ, বি, এবং সি লিখুন:

  • এ হ'ল এমন একটি কুইন যা এ, বি এবং সি এর সমস্ত ফলাফলকে ছাড়িয়ে যায় (এটি আপনার জমা দেওয়ার কোডের সম্পূর্ণ সামগ্রীও রয়েছে)।
  • বি একটি প্যারামিটার এফ নেয় এবং এটি এমন একটি কুইন (আউটপুট এফবিসি), বা অন্যরকম কিছু করছে কিনা তা পরীক্ষা করে।
  • সি একটি প্যারামিটার জি নেয় এবং জি সম্ভবত বি এর মতো কাজ করে কিনা তা পরীক্ষা করে (এফ আউটপুট এফজিসি কিনা তা পরীক্ষা করে)। কোনও ফাংশনটি কুইন চেকার কিনা তা সিদ্ধান্ত নেওয়া অসম্ভব, তাই আসুন আমরা সহজ কিছু করি:
    • জি অবশ্যই বিয়ের জন্য বৈধ হলে এটি অবশ্যই সত্যবাদী হবে return
    • জি অবশ্যই সমস্ত বৈধ কুইনের জন্য মিথ্যা প্রত্যাবর্তন করে, বা জি সমস্ত বৈধ নন-কুইন্সের জন্য সত্যবাদী প্রত্যাবর্তন করে তবে অবশ্যই এটি মিথ্যা প্রত্যাবর্তন করতে হবে।
    • এটি অন্য কোনও ক্ষেত্রে থাকলে এটি কোনও কিছু ক্র্যাশ করতে বা শেষ করতে না পারে ইত্যাদি ফিরিয়ে আনতে পারে।

নোট করুন যে বি সম্ভব। এ এবং এফ এর কোনও ইনপুট নেই, তাই আপনি কেবল এগুলি চালাতে পারেন এবং ফলাফলটি পরীক্ষা করতে পারেন।

বিধি

  • এ এর আউটপুট থেকে কোন অংশগুলি A, B এবং C হয় তা বলার কিছু উপায় থাকতে হবে উদাহরণস্বরূপ: প্রত্যেকটির একটির লাইন থাকে, বা তাদের দোভাষীতে তিনটি ফাংশন হিসাবে স্বীকৃত হয়।
  • প্রতিটি ফাংশনটি কেবল নিজের সংজ্ঞা দিয়ে চালানো উচিত, আপনার সম্পূর্ণ কোড নয়।
  • আপনি একটি ফাংশন / প্রোগ্রাম বা এর উত্স কোড, বা বি (বা জি) এবং সি এর ইনপুট হিসাবে উভয়ের একটি জোড়া ব্যবহার করতে পারেন
  • আপনি সেই মানগুলির একটি উপসেটে সত্যবাদী / মিথ্যাটিকে নতুন করে সংজ্ঞায়িত করতে পারেন । আপনি একটানা একক স্ট্রিংয়ের মতো পছন্দসই কিছু প্রকারের ফিরিয়ে আনতে চাইবেন।
  • আপনার কাছে এ, বি, এফ এবং জি দরকার হতে পারে, যদি তাদের বৈধ প্যারামিটার দিয়ে ডাকা হয়, ধারাবাহিকভাবে আপনার পছন্দ মতো কিছু ধরণের অন্যান্য ইনপুট বা পার্শ্ব প্রতিক্রিয়া না থাকে যেমন গ্লোবাল ভেরিয়েবল অ্যাক্সেস করা বা স্টিডিন পড়া ইত্যাদি etc.
  • আপনি এফ এবং জি ধরে নিতে পারেন, যদি তাদের বৈধ পরামিতিগুলির সাথে ডাকা হয়, সর্বদা শেষ করুন।
  • এফ হিসাবে একই অবস্থায় কাজ করা উচিত। সুতরাং এটি বি বা সি বা অন্য কোনও ভেরিয়েবলের অস্তিত্বের উপর নির্ভর করতে পারে না, যদি না যে চলকটি তার আউটপুটে তার নিজস্ব অংশে সংজ্ঞায়িত না হয়।
  • কোনও ফাংশন বা প্রোগ্রামগুলি তার নিজস্ব উত্স কোডটি পড়তে পারে না।
  • এটি কোড-গল্ফ, সংক্ষিপ্ততম কোড (যা এ এর ​​আউটপুট) বাইট জেতে।

বি এখনও সাধারণভাবে অসম্ভব কারণ এফ সম্ভবত সমাপ্ত হতে পারে না, পাশাপাশি প্রচুর ভাষায় অনুশীলনেও এর জন্য দক্ষতার সংমিশ্রণের প্রয়োজন রয়েছে যেমন স্টাডআউটের অস্থায়ী পুনঃনির্দেশ এবং ফাংশন-টু-স্ট্রিং বা এক্সিকিউট। আপনি সবচেয়ে ভাল আশা করতে পারেন এটি সম্ভবত একটি এলআইএসপি-র অর্ধ-কার্যক্ষম সমাধান।
পিটার টেলর

আপনি কীভাবে সমস্ত কুইনস এবং নন কুইন্স দিয়ে পরীক্ষা করবেন ? আমি বর্তমানে একটি গণিত সমাধানে কাজ করছি working
LegionMammal978

@ পিটারটেলর "আপনি এফ এবং জি ধরে নিতে পারেন, যদি তাদের বৈধ পরামিতিগুলির সাথে ডাকা হয়, সর্বদা শেষ করে দিন" " এবং "আউটপুট" বলতে ফেরত বোঝাতে পারে, অগত্যা stdout এ মুদ্রণ করা উচিত নয়।
জিমি 23013

@ LegionMammal978 সমস্ত কুইনস এবং নন-কুইন্স পরীক্ষা করা অসম্ভব । তবে সি এর কাজটি সহজ কিছু সহজ, যেখানে আপনাকে কেবল একটি কুইন এবং একটি নন-কুইন পরীক্ষা করতে হবে।
জিমি 23013

1
@ পাইরুলিজ আমি মনে করি এটি এই চ্যালেঞ্জের চেতনায় রয়েছে, তাই আমি এটির অনুমতি দেব। তবে ফাংশনটি তার নিজস্ব উত্স কোড অ্যাক্সেস করতে পারে না।
jimmy23013

উত্তর:


1

সিজেএম, 254 বাইট

একটি উদাহরণ উত্তর, গল্ফ না।

{{['{\"_~}{{[1$'{@\"_~}"{{["_~}"2$+'{@"_~}"]s`"{{['{\\"\+"]s}_~}"+~1$~{L}@~!&}_~}_``1>W<"\"]s\~=}_~}"@]s}_~}{{[1$'{@"_~}{{[\"_~}\"2$+'{@\"_~}\"]s`\"{{['{\\\\\"\+\"]s}_~}\"+~1$~{L}@~!&}_~}"]s\~=}_~}{{["_~}"2$+'{@"_~}"]s`"{{['{\\"\+"]s}_~}"+~1$~{L}@~!&}_~}

3 টি ফাংশনগুলি হ'ল:

{{['{\"_~}{{[1$'{@\"_~}"{{["_~}"2$+'{@"_~}"]s`"{{['{\\"\+"]s}_~}"+~1$~{L}@~!&}_~}_``1>W<"\"]s\~=}_~}"@]s}_~}
{{[1$'{@"_~}{{[\"_~}\"2$+'{@\"_~}\"]s`\"{{['{\\\\\"\+\"]s}_~}\"+~1$~{L}@~!&}_~}"]s\~=}_~}
{{["_~}"2$+'{@"_~}"]s`"{{['{\\"\+"]s}_~}"+~1$~{L}@~!&}_~}

A এবং F কোনও পরামিতি নেয় না এবং একটি স্ট্রিং ফেরত দেয়। বি, জি এবং সি প্যারামিটার হিসাবে একটি সিজেম ব্লক নেয় এবং সত্যের জন্য ১, বা মিথ্যা হিসাবে 0 দেয়।

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