রাশিয়ান নেস্টিং কুইন


18

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

ম্যাট্রিওশকা পুতুল <3

আজ আপনার লক্ষ্যটি এমন একটি প্রোগ্রাম বা ফাংশন লিখে এই রুশ emতিহ্যকে অনুকরণ করা যা যখন এটিতে N বার থাকে, তখন নিজের বারের এন -1 অনুলিপিগুলি প্রিন্ট করবে।

উদাহরণস্বরূপ, পুতুল প্রোগ্রামটিতে abcdএন = 3 প্রোগ্রাম থাকবে abababcdcdcd, যা এন = 2 প্রোগ্রামটি মুদ্রণ করবে ababcdcd, যা মূল এন = 1 প্রোগ্রাম প্রিন্ট করে abcd, যা শেষ পর্যন্ত এন = 0 প্রিন্ট করে, যা খালি রয়েছে। এটি তাত্ত্বিকভাবে এন এর যে কোনও যুক্তিসঙ্গত মানের জন্য কাজ করা উচিত should

নিয়মাবলী:

  • আপনার প্রোগ্রামের উপর ভিত্তি করে পুতুল প্রোগ্রাম উত্পন্ন করতে সহায়তা করার জন্য এখানে একটি টিআইও প্রোগ্রাম রয়েছে
  • স্ট্যান্ডার্ড কুইন বিধি প্রযোজ্য
  • স্ট্যান্ডার্ড লুফোলস প্রযোজ্য
  • 'অন্তর্ভুক্ত' এর অর্থ পূর্ববর্তী সংস্করণটির সরাসরি কেন্দ্রে, সুতরাং আপনার সমাধানটি অবশ্যই একটি ধনাত্মক এমনকি সংখ্যক বাইট থাকতে হবে। দশম দৈর্ঘ্যের একটি প্রোগ্রামে পঞ্চম বাইটের পরে inোকানো আসলটির একটি অনুলিপি থাকবে, তারপরে দশম বাইটের পরে অন্য হবে etc.
  • আউটপুটে একটি একক পেছনের সাদা স্থান অনুমোদিত
  • এটি , আপনার লক্ষ্যটি আপনার এন = 1 প্রোগ্রামটিকে যতটা সম্ভব সংক্ষিপ্ত করে তোলা।
  • আপনার কোড একটি ব্যাখ্যা প্রশংসা করা হবে


কি জন্য Nকোড আকার পরিমাপ করা হয়?
flawr

@ ফ্লোয়ার এন = 1 .....
জো কিং


12
আসলেই কি এনিমেশন দরকার?!
শেগি

উত্তর:


9

আন্ডারলোড , 4 বাইট

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

 ()S

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

 ( ()S)S

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

 ( ( ()S)S)S

ব্যাখ্যা:

স্ব-ব্যাখ্যামূলক তবে আমি এটি যেকোনভাবে যুক্ত করি।

  • (...)S বন্ধনীর মধ্যবর্তী যেকোন কিছুকে STDOUT এ মুদ্রণ করে
  • বাইট-কাউন্টকে আরও সমালোচনা এবং চ্যালেঞ্জের নিয়ম মেনে চলার আগে জায়গাটি কোনও বিকল্প নেই।

9

জাভাস্ক্রিপ্ট, 36 32 বাইট

সত্য যে সুবিধা নেয় Function.prototype.toString()কোনো আর্গুমেন্ট লাগে এবং সেইজন্য কোন এটি প্রেরণ করা হয় উপেক্ষা করা হবে।

আংশিকভাবে ব্যবহারকারী 202729 এর সমাধান দ্বারা অনুপ্রাণিত ।

f=_=>f.toString( ).slice(14,-16)

চেষ্টা করে দেখুন

o.innerHTML=["<span>Five</span>",(f=_=>f.toString(f=_=>f.toString(f=_=>f.toString(f=_=>f.toString(f=_=>f.toString( ).slice(14,-16) ).slice(14,-16) ).slice(14,-16) ).slice(14,-16) ).slice(14,-16))(),"<span>Four</span>",(f=_=>f.toString(f=_=>f.toString(f=_=>f.toString(f=_=>f.toString( ).slice(14,-16) ).slice(14,-16) ).slice(14,-16) ).slice(14,-16))(),"<span>Three</span>",(f=_=>f.toString(f=_=>f.toString(f=_=>f.toString( ).slice(14,-16) ).slice(14,-16) ).slice(14,-16))(),"<span>Two</span>",(f=_=>f.toString(f=_=>f.toString( ).slice(14,-16) ).slice(14,-16))(),"<span>One</span>",(f=_=>f.toString( ).slice(14,-16))(),"<span>Thunderbirds Are Go!</span>"].join`\n`
span{font-weight:bold;font-size:16px;line-height:1.5em;text-transform:uppercase;}span:last-child{font-size:8px;}
<pre id=o></pre>


7

জাভাস্ক্রিপ্ট (নোড.জেএস) , 46 বাইট

পুরো প্রোগ্রাম। তাই console.logপ্রয়োজনীয়।

কিছু বাইট সংরক্ষণ করতে এই উত্তরটি থেকে একটি ধারণা ব্যবহার করুন ।

l=console.log;   g=_=>{};l((''+g).slice(4,-1))

এটি অনলাইন চেষ্টা করুন! অনলাইনে দুবার চেষ্টা করে দেখুন! অনলাইনে চেষ্টা করে দেখুন, তিনবার!


আমার দৃষ্টিভঙ্গি কেভিন ক্রুইজসেনের উত্তরে ব্যবহৃত অনুরূপ , একটি নীড় কাঠামো (এই ক্ষেত্রে একটি ফাংশন) সন্ধান করুন।


5

জেলি , 16 বাইট

Ṿḣ-9Ḋð}“““““““““

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

দ্বিগুণ: অনলাইনে চেষ্টা করে দেখুন!

ট্রিপল: অনলাইনে চেষ্টা করে দেখুন!


জেলির কোনও বাসা বাঁধার কাঠামো নেই তবে এর স্ট্রিং লিটারালগুলি স্বয়ংক্রিয়ভাবে সমাপ্ত।


Ṿḣ-9Ḋ    First chain. (monadic)
Ṿ        Uneal. (to string)
 ḣ-9     Take the ead, ends at the -9'th character.
    Ḋ    equeue, remove the first character.

     ð             Terminate the first chain, start a new one.
      }            Convert the last monadic chain to a dyadic one.
       “““““““““   String literal.
                   This matches the pattern <dyad> <nilad>, so applies
                   the the corresponding rules. This way a link can take data
                   to the right of it.

তারা আরও সংক্ষিপ্ত হতে পারে কিনা তা দেখতে বিভিন্ন পদ্ধতির চেষ্টা করবে।


4

ডিপডুপ , 2 বাইট

[]

এটি তালিকাটিকে স্ট্যাকের দিকে ঠেলে দেয় এবং এটি বন্ধনী ছাড়াই প্রিন্ট করে।

এন = 1: এটি অনলাইনে চেষ্টা করে দেখুন!

এন = 2: অনলাইনে চেষ্টা করে দেখুন!

এন = 3: অনলাইনে চেষ্টা করে দেখুন!


2

ডিসি , 4 বাইট

 []p

কিছু অন্যান্য উত্তরের অনুরূপ, যেহেতু স্ট্রিংগুলির dcশুরু ( [) এবং শেষ ( ]) সীমানা (যা "উভয় কর্তব্য পালন করে না, ইত্যাদি) থাকে, তাই এগুলি কোনও বাস্তব প্রচেষ্টা ছাড়াই বাসা বাঁধে। pমুদ্রণ এর জন্য.

এন = 1: অনলাইনে চেষ্টা করে দেখুন!

এন = 2: নেস্ট করে দেখুন!

এন = 3: চেষ্টা করুন নেস্টার্ড!


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